js中.sort()函数排序的常见用法

分类:知识百科 日期: 点击:0

js中的.sort()函数可以用来对数组进行排序,它支持多种排序方式,可以根据需要来实现不同的排序结果。

1. 对数字进行排序

// 排序前
var nums = [3, 1, 5, 2, 4];

// 排序后
nums.sort(function(a, b) {
  return a - b;
});
// nums = [1, 2, 3, 4, 5]

上面的代码中,sort()函数接收一个比较函数,该函数需要返回一个大于0的值,表示a大于b,返回0表示a等于b,返回小于0的值表示a小于b。

2. 对字符串进行排序

// 排序前
var strs = ['apple', 'banana', 'pear'];

// 排序后
strs.sort();
// strs = ['apple', 'banana', 'pear']

上面的代码中,sort()函数默认按照字母表顺序进行排序,如果要按照字符串长度进行排序,可以使用以下代码:

strs.sort(function(a, b) {
  return a.length - b.length;
});
// strs = ['pear', 'apple', 'banana']

3. 对对象数组进行排序

// 排序前
var objs = [
  {name: 'John', age: 20},
  {name: 'Tom', age: 18},
  {name: 'Alice', age: 22}
];

// 排序后
objs.sort(function(a, b) {
  return a.age - b.age;
});
// objs = [{name: 'Tom', age: 18}, {name: 'John', age: 20}, {name: 'Alice', age: 22}]

上面的代码中,sort()函数接收一个比较函数,该函数可以根据指定的字段来比较两个对象,从而实现对对象数组的排序。

4. 结合使用sort()和map()函数

// 排序前
var nums = [3, 1, 5, 2, 4];

// 排序后
var result = nums.map(function(num) {
  return num * 2;
}).sort(function(a, b) {
  return a - b;
});
// result = [2, 4, 6, 8, 10]

上面的代码中,sort()函数和map()函数结合使用,可以实现将数组中的每个元素乘以2,按照从小到大的顺序排序的效果。

5. 使用sort()函数排序对象数组

// 排序前
var objs = [
  {name: 'John', age: 20},
  {name: 'Tom', age: 18},
  {name: 'Alice', age: 22}
];

// 排序后
objs.sort(function(a, b) {
  if (a.name < b.name) {
    return -1;
  } else if (a.name > b.name) {
    return 1;
  } else {
    return 0;
  }
});
// objs = [{name: 'Alice', age: 22}, {name: 'John', age: 20}, {name: 'Tom', age: 18}]

上面的代码中,sort()函数接收一个比较函数,该函数可以根据指定的字段来比较两个对象,从而实现对对象数组的排序。

js中的.sort()函数可以用来对数组进行排序,它支持多种排序方式,可以根据需要来实现不同的排序结果。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。