PHP课程限时特价
PHP一对一教学
PHP全栈开发

js如何给数组对象排序

下次还敢   2024-05-16 17:36   641浏览 原创

有五种方法在 javascript 中对数组对象进行排序:1)根据单个属性排序;2)根据多个属性排序;3)反向排序;4)按字符顺序排序;5)指定比较依据的排序。

如何在 JavaScript 中给数组对象排序

JavaScript 中有几种方法可以对数组对象进行排序。以下是如何根据不同的标准对数组对象进行排序:

根据单个属性排序

要根据数组对象的单个属性进行排序,可以使用 sort() 方法,并将比较函数作为参数传递:

<code class="js">const data = [
  { name: "John", age: 25 },
  { name: "Alice", age: 30 },
  { name: "Bob", age: 20 },
];

data.sort((a, b) => a.age - b.age);</code>

根据多个属性排序

要根据多个属性对数组对象进行排序,可以使用 array.sort() 方法并提供自定义的比较函数:

<code class="js">data.sort((a, b) => {
  const nameDiff = a.name.localeCompare(b.name);
  if (nameDiff === 0) {
    return a.age - b.age;
  }
  return nameDiff;
});</code>

反向排序

要逆转排序顺序,可以在比较函数中使用负号:

<code class="js">data.sort((a, b) => -(a.age - b.age));</code>

按字符顺序排序

要按字符顺序对数组对象进行排序,可以使用 localeCompare 方法比较字符串:

<code class="js">data.sort((a, b) => a.name.localeCompare(b.name));</code>

指定比较依据的排序

要指定比较依据的排序,可以使用 Array.prototype.sort() 方法的可选第二个参数:

<code class="js">data.sort((a, b) => a.age - b.age, (a, b) => a.name.localeCompare(b.name));</code>
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。