From d58be890f0e5531ddca62dc33ba50663affeacab Mon Sep 17 00:00:00 2001 From: omvjro <144692181+omvjro@users.noreply.github.com> Date: Sun, 21 Jan 2024 13:09:17 +0800 Subject: [PATCH] fix: delete outdated annotations --- .../05-array-methods/8-sort-objects/solution.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/1-js/05-data-types/05-array-methods/8-sort-objects/solution.md b/1-js/05-data-types/05-array-methods/8-sort-objects/solution.md index 9e7f29b3e7..c00ac5dc78 100644 --- a/1-js/05-data-types/05-array-methods/8-sort-objects/solution.md +++ b/1-js/05-data-types/05-array-methods/8-sort-objects/solution.md @@ -16,19 +16,3 @@ alert(arr[0].name); // John alert(arr[1].name); // Mary alert(arr[2].name); // Pete ``` - -译注:解决方案的代码还可以更短一些 - -```js -function sortByAge(arr) { - arr.sort((a, b) => a.age - b.age); -} -``` - -因为 `sort()` 方法的语法为 `arr.sort([compareFunction])`,如果没有指明 `compareFunction`,那么元素会被按照转换为的字符串的诸个字符的 Unicode 编码进行排序,如果指明了 `compareFunction`,那么数组会按照调用该函数的返回值排序。即 `a` 和 `b` 是两个将要被比较的元素: - -- 如果 `compareFunction(a, b)` 小于 `0`,那么 `a` 会被排列到 `b` 之前; -- 如果 `compareFunction(a, b)` 等于 `0`,那么 `a` 和 `b` 的相对位置不变。备注:ECMAScript 标准并不保证这一行为,而且也不是所有浏览器都会遵守(例如 Mozilla 在 2003 年之前的版本); -- 如果 `compareFunction(a, b)` 大于 `0`,那么 `b` 会被排列到 `a` 之前。 - -因此,升序排列的函数可以简写为:`(a, b) => a.age - b.age`。