当前位置:首页 > JavaScript

js 实现sort

2026-03-14 01:53:37JavaScript

实现 JavaScript 的 sort 方法

JavaScript 的 Array.prototype.sort 方法用于对数组元素进行排序。默认情况下,它将元素转换为字符串并按 Unicode 码点顺序排序。为了更灵活地排序,可以传入一个比较函数。

基本用法

默认排序(按 Unicode 码点顺序):

const fruits = ['banana', 'apple', 'orange'];
fruits.sort();
console.log(fruits); // ['apple', 'banana', 'orange']

自定义比较函数

比较函数接收两个参数 ab,返回值的规则如下:

  • 返回负数:a 排在 b 前面
  • 返回正数:b 排在 a 前面
  • 返回 0:顺序不变

升序排列数字:

const numbers = [40, 100, 1, 5, 25];
numbers.sort((a, b) => a - b);
console.log(numbers); // [1, 5, 25, 40, 100]

降序排列数字:

numbers.sort((a, b) => b - a);
console.log(numbers); // [100, 40, 25, 5, 1]

对象数组排序

根据对象属性排序:

const items = [
  { name: 'Edward', value: 21 },
  { name: 'Sharpe', value: 37 },
  { name: 'And', value: 45 }
];
items.sort((a, b) => a.value - b.value);
console.log(items);
// [
//   { name: 'Edward', value: 21 },
//   { name: 'Sharpe', value: 37 },
//   { name: 'And', value: 45 }
// ]

字符串排序

不区分大小写排序:

const names = ['Fred', 'alice', 'Bob', 'Eve'];
names.sort((a, b) => a.localeCompare(b, undefined, { sensitivity: 'base' }));
console.log(names); // ['alice', 'Bob', 'Eve', 'Fred']

稳定性

现代 JavaScript 引擎实现的 sort 是稳定的排序算法,即相等元素的相对顺序在排序前后保持不变。

js 实现sort

性能注意事项

排序性能取决于具体实现,不同浏览器/环境可能使用不同的排序算法(如快速排序、归并排序等)。对于大型数组,自定义比较函数的效率会影响整体排序速度。

标签: jssort
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…