了解 JavaScript 中的数组排序
【摘要】 hello,各位小伙伴,你们真的了解JavaScript中的数组排序吗?本文目的是教你 JavaScript 中的数组排序。 1.排序数组 - 字母 要按升序排序:我们使用 .sort() 方法在 Array 中按升序对字母进行排序。.sort()方法返回排序后的数组,同时原数组也会被改变。语法:arr.sort()例子:const cars = ["BMW", "BENZ", "BUGAT...
hello,各位小伙伴,你们真的了解JavaScript中的数组排序吗?本文目的是教你 JavaScript 中的数组排序。
1.排序数组 - 字母
我们使用 .sort() 方法在 Array 中按升序对字母进行排序。
.sort()方法返回排序后的数组,同时原数组也会被改变。
语法:
arr.sort()
例子:
const cars = ["BMW", "BENZ", "BUGATI", "MARUTHI","INNOVA"];
console.log(cars.sort());
输出:
[ 'BENZ', 'BMW', 'BUGATI', 'INNOVA', 'MARUTHI' ]
我们使用 .reverse() 方法在 Array 中按降序对字母进行排序。
.reverse() 返回逆反之后的数据。
语法:
arr.sort();
arr.reverse();
例子:
const cars = ["BMW", "BENZ", "BUGATI", "MARUTHI","INNOVA"];
cars.sort();
console.log(cars.reverse());
输出:
[ 'MARUTHI', 'INNOVA', 'BUGATI', 'BMW', 'BENZ' ]
2.排序数字 - 数字
.sort()方法可以接受一个函数,这个函数用来比较两个数之间的大小
我们使用 .sort((a,b)=>a-b) 方法对数组中的数字进行升序排序。
arr.sort((a,b)=>a-b);
例子:
const num = ["50", "88", "1", "600","30"];
console.log(num.sort((a,b)=>a-b));
输出:
[ '1', '30', '50', '88', '600' ]
我们使用 .sort((a,b)=>b-a) 方法对数组中的数字进行降序排序。
句法:
arr.sort((a,b)=>b-a);
例子:
const num = ["50", "88", "1", "600","30"];
console.log(num.sort((a,b)=>b-a));
输出:
[ '600', '88', '50', '30', '1' ]
3.随机排序
我们使用 .sort((a,b)=>0.5-Math.random()) 方法对数组中的数字进行随机排序。
语法:
arr.sort((a,b)=>0.5-Math.random());
例子:
const num = ["50", "88", "1", "600","30"];
console.log(num.sort((a,b)=>0.5-Math.random()));
输出:
[ '600', '50', '30', '88', '1' ]
4.在对象数组中排序
我们使用 .sort((a,b)=>a.property-b.property) 方法对数组中的数字进行升序排序。
我们使用 .sort((a,b)=>b.property-a.property) 方法对数组中的数字进行降序排序。
语法:
arr.sort((a,b)=>a.property-b.property);
例子:
const cars = [
{type:"Volvo", year:2016},
{type:"Saab", year:2001},
{type:"BMW", year:2010}
];
console.log(cars.sort((a, b)=>a.year - b.year));
输出:
[
{ type: 'Saab', year: 2001 },
{ type: 'BMW', year: 2010 },
{ type: 'Volvo', year: 2016 }
]
5. 用 Math.min( ) 和 Math.max( ) 排序
我们使用 Math.max.apply(null, arr) 方法来查找数组中的最高数。
语法:
Math.max.apply(null, arr);
例子:
function myArrayMax(arr) {
return Math.max.apply(null, arr);
}
console.log(myArrayMax([12,56,700,20,90]));
输出:
700
我们使用 Math.min.apply(null, arr) 方法来查找数组中的最小数。
语法:
Math.min.apply(null, arr);
例子:
function myArrayMax(arr) {
return Math.min.apply(null, arr);
}
console.log(myArrayMax([12,56,700,20,90]));
输出:
12
6.程序以升序,降序显示数组。最高值和数组的最小值
const arr=[ 600, 50, 30, 88, 1 ];
console.log("Ascending Order:",arr.sort((a,b)=>a-b));
console.log("Descending Order:",arr.sort((a,b)=>b-a));
console.log("Highest Value:",Math.max.apply(null,arr));
console.log("Lowest Value:",Math.min.apply(null,arr));
输出:
Ascending Order: [ 1, 30, 50, 88, 600 ]
Descending Order: [ 600, 88, 50, 30, 1 ]
Highest Value: 600
Lowest Value: 1
结论:
- 我们使用 .sort() 方法在 Array 中按升序对字母进行排序。
- 我们使用 .reverse() 方法在 Array 中按降序对字母进行排序。
- 我们使用 .sort((a,b)=>0.5-Math.random()) 方法对数组中的数字进行随机排序。
- 我们使用 .sort((a,b)=>a.property-b.property) 方法对数组中的数字进行升序排序。
- 我们使用 .sort((a,b)=>b.property-a.property) 方法对数组中的数字进行降序排序。
- 我们使用 Math.max.apply(null, arr) 方法来查找数组中的最高数。
- 我们使用 Math.min.apply(null, arr) 方法来查找数组中的最小数。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)