当前位置:首页 > JavaScript

js 实现降序

2026-04-06 07:37:55JavaScript

数组降序排序

在JavaScript中,可以使用数组的sort()方法实现降序排序。默认情况下,sort()方法将元素转换为字符串并按升序排列。要实现降序排序,需传入一个比较函数。

const arr = [5, 2, 9, 1, 5];
arr.sort((a, b) => b - a);
console.log(arr); // 输出: [9, 5, 5, 2, 1]

对象数组按属性降序

若需对对象数组按特定属性降序排序,同样在比较函数中处理。

const users = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 },
  { name: 'Charlie', age: 20 }
];
users.sort((a, b) => b.age - a.age);
console.log(users);
// 输出: [{name: 'Bob', age: 30}, {name: 'Alice', age: 25}, {name: 'Charlie', age: 20}]

字符串数组降序

对字符串数组降序排序时,使用localeCompare()方法或直接比较字符编码。

const fruits = ['banana', 'apple', 'cherry'];
fruits.sort((a, b) => b.localeCompare(a));
console.log(fruits); // 输出: ['cherry', 'banana', 'apple']

多条件降序排序

当需要按多个条件降序排序时,可在比较函数中依次判断。

const items = [
  { name: 'item1', price: 10, rating: 4 },
  { name: 'item2', price: 10, rating: 3 },
  { name: 'item3', price: 15, rating: 4 }
];
items.sort((a, b) => {
  if (b.price !== a.price) return b.price - a.price;
  return b.rating - a.rating;
});
console.log(items);
// 输出: [
//   {name: 'item3', price: 15, rating: 4},
//   {name: 'item1', price: 10, rating: 4},
//   {name: 'item2', price: 10, rating: 3}
// ]

注意事项

  • sort()方法会直接修改原数组,若需保留原数组,可先创建副本:

    const original = [3, 1, 4];
    const sorted = [...original].sort((a, b) => b - a);
  • 对于大数组或复杂排序,考虑性能优化方案,如使用Intl.Collator或Web Worker。

    js 实现降序

标签: 降序js
分享给朋友:

相关文章

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现排序

js实现排序

数组排序方法 JavaScript提供了内置的sort()方法用于数组排序。默认情况下,sort()将元素转换为字符串并按照Unicode码点排序。对于数字排序,需传入比较函数。 const num…

js实现图片移动

js实现图片移动

使用CSS和JavaScript实现图片移动 方法一:使用CSS动画结合JavaScript控制 通过CSS定义动画关键帧,JavaScript动态添加或移除动画类。 /* CSS部分 */ .m…