📜  js 排序数组 - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:23.319000             🧑  作者: Mango

JS 排序数组 - Javascript

在 Javascript 中,排序数组可以通过内置的 sort() 函数进行。该函数根据指定的排序规则,对数组进行升序或降序排列。

使用方法

sort() 函数可以作用于数组对象,并且不需要传递任何参数。

var arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
arr.sort();
console.log(arr); // [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

上述代码将数组 arr 进行升序排列,并使用 console.log() 输出排列后的结果。

自定义排序规则

如果想要自定义排序规则,可以在 sort() 函数中传递一个函数作为参数。该函数接收两个参数,分别是当前比较的两个元素。

var arr = ["dog", "apple", "cat", "banana", "zebra"];
arr.sort(function(a, b) {
  return a.localeCompare(b);
});
console.log(arr); // ["apple", "banana", "cat", "dog", "zebra"]

上述代码使用 localeCompare() 函数比较元素的字典序,实现了对数组的升序排列。

注意事项
  • 在排序数组中,元素的比较顺序是字符串顺序,而不是数字顺序。因此,如果数组的元素为字符串类型,那么排序结果可能并不是预期的。

  • 如果需要对数字类型的数组进行排序,可以使用以下方法:

    var arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
    arr.sort(function(a, b) {
      return a - b;
    });
    console.log(arr); // [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
    

    上述代码使用 a - b 的比较方式,实现了对数字数组的升序排列。

  • 如果在排序时需要修改数组中的元素,建议先将数组拷贝一份并进行排序操作,以免破坏原始数据。