排序和反转数组元素
在这一步中,你将学习如何使用 sort()
和 reverse()
方法在 JavaScript 中操作数组元素。这些方法提供了简单的方式来组织和重新排列数组内容。
在 ~/project
目录下创建一个名为 array-sort-reverse.js
的新文件,并添加以下代码:
// 创建用于排序演示的数组
let numbers = [5, 2, 9, 1, 7];
let fruits = ["banana", "apple", "cherry", "date"];
// 默认排序(字符串按字典顺序,数字按升序)
console.log("原始数字数组:", numbers);
numbers.sort();
console.log("默认排序:", numbers);
// 数字排序需要比较函数
numbers = [5, 2, 9, 1, 7];
numbers.sort((a, b) => a - b);
console.log("数字排序:", numbers);
// 反转排序
console.log("\n原始水果数组:", fruits);
fruits.sort().reverse();
console.log("排序并反转:", fruits);
// 不排序直接反转数组
let colors = ["red", "green", "blue", "yellow"];
console.log("\n原始颜色数组:", colors);
colors.reverse();
console.log("反转后的颜色数组:", colors);
现在,运行脚本来查看结果:
node ~/project/array-sort-reverse.js
示例输出:
原始数字数组: [ 5, 2, 9, 1, 7 ]
默认排序: [ 1, 2, 5, 7, 9 ]
数字排序: [ 1, 2, 5, 7, 9 ]
原始水果数组: [ 'banana', 'apple', 'cherry', 'date' ]
排序并反转: [ 'date', 'cherry', 'banana', 'apple' ]
原始颜色数组: [ 'red', 'green', 'blue', 'yellow' ]
反转后的颜色数组: [ 'yellow', 'blue', 'green', 'red' ]
关于 sort()
和 reverse()
的关键点:
sort()
会修改原始数组
- 默认的
sort()
将元素转换为字符串并按字典顺序排序
- 使用比较函数进行数字或自定义排序
reverse()
反转数组中元素的顺序
- 这两种方法都是原地操作,会修改原始数组