如果比较返回零,则 sort() 方法认为 a 等于 b 并且不改变它们的位置。

假设你有两个元素 a 和 b 并且想要比较 a.firstname 和 b.firstname,那么操作如下:

如果比较字符串包含 Unicode 字符,我们可以使用 localeCompare 函数,该函数内置支持特定于语言的排序顺序、忽略大小写、变音符号、ß 等符号:

如何在 JavaScript 中对数组进行按字母顺序排序

JavaScript 数组有 sort() 方法,它按字母顺序对数组元素进行排序。

sort() 方法接受一个函数,该函数比较 Array.sort([comparer]) 的两个项目。

function sortObj(obj) {
  return Object.keys(obj).sort().reduce(function (result, key) {
    result[key] = obj[key];
    return result;
  }, {});
}
function sortObj(obj) {
  return Object.keys(obj).sort().reduce(function (result, key) {
    result[key] = obj[key];
    return result;
  }, {});
}
let list = {
  "name": "Ann",
  "age": 75
};
let arr = sortObj(list);
console.log(arr);

sort() 方法将根据元素的值对项目进行排序,以防比较函数被省略:

const sortObject = obj => Object.keys(obj).sort().reduce((res, key) => (res[key] = obj[key], res), {})

如果比较值小于零,sort() 方法将排序到比 b 低的索引。

const sortObject = obj => Object.keys(obj).sort().reduce((res, key) => (res[key] = obj[key], res), {});
let list = {
  "name": "John",
  "age": 20
};
let arr = sortObject(list);
console.log(arr);

如果比较值大于零,sort() 方法将 b 排序到比 a 低的索引。

日期:2020-06-02 22:16:26 来源:oir作者:oir