关于数组的sort() 方法的具体使用说明
话不多说,直接上代码
<script>
console.log("默认是把元素默认成字符串进行相互比较,从小到大");
var arr = [11, 4, 13, 12, 5, 6];
arr.sort();
console.log(arr); // [11, 12, 13, 4, 5, 6]
console.log("-------------------------------");
console.log("这样是比较数值的大小,从小到大排序");
var arr1 = [11, 14, 13, 2, 15, 20, 5, 3];
arr1.sort((a, b) => a - b);
console.log(arr1); // [2, 3, 5, 11, 13, 14, 15, 20]
console.log("或者写成:");
var arr2 = [11, 14, 13, 2, 15, 20, 5, 3];
arr2.sort(compare);
function compare(a, b) {
if (a > b) return 1;
else if (a < b) return -1;
else return 0;
}
console.log(arr2); // [2, 3, 5, 11, 13, 14, 15, 20]
console.log("-------------------------------");
console.log("从大到小,反上亦然");
var arr3 = [11, 14, 13, 2, 15, 20, 5, 3];
arr3.sort((a, b) => b - a);
console.log(arr3); // [20, 15, 14, 13, 11, 5, 3, 2]
console.log("或者写成:");
var arr4 = [11, 14, 13, 2, 15, 20, 5, 3];
arr4.sort(compare);
function compare(a, b) {
if (a > b) return -1;
else if (a < b) return 1;
else return 0;
}
console.log(arr4); // [20, 15, 14, 13, 11, 5, 3, 2]
console.log('---------------------------------');
console.log("关于元素是字符串的sort()排序");
console.log("JavaScript在做字符比较的时候,是根据字符对应的ASCII值来比较的。");
var names = ['Ana', 'ana', 'john', 'John'];
console.log(names.sort());
console.log("如果不想区分大小写,可自定义:");
names.sort(function (a, b) {
if (a.toLowerCase() < b.toLowerCase()) {
return -1
}
if (a.toLowerCase() > b.toLowerCase()) {
return 1
}
return 0;
});
console.log(names);
</script>
运行结果图如下
There’s nothing enlightened about shrinking.
退缩并非明智之举。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/64482.html