数组扩展之扩展运算符
来源:7-2 编程练习
weixin_慕的地5241954
2019-10-17 01:48:28
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
//补充代码
let arr = [];
for(let i = 0;i < 10; i++){
arr.push(Math.round(Math.random()*100))
}
// 对数组进行降序排序,忘记了
// 对数组数字排序用函数来改变,修改方法如下:
// var arr = [23, 9, 4, 78, 3];
// var compare = function (x, y) {//比较函数
// if (x < y) {
// return -1;
// } else if (x > y) {
// return 1;
// } else {
// return 0;
// }
// }
// compare(1, 3) 通过接受正负一、0来判断大小再排序
// console.log(arr.sort(compare));
// 如果要按降序排序,比较函数写成这样即可:
// var compare = function (x, y) {
// if (x < y) {
// return 1;
// } else if (x > y) {
// return -1;
// } else {
// return 0;
// }
// }
// 我们还可以对上面的函数进行简化的写法:
// var arr = [23, 9, 4, 78, 3];
// //升序
// arr.sort(function(a,b){
// retun a-b;
// });
// //降序
// arr.sort(function(a,b){
// retun b-a;
// });
arr.sort(NumDescSort = (a,b) => b-a);
console.log(arr)
let min = Math.min(...arr),
max = Math.max(...arr);
document.write(arr.join(',') + '<br>');
document.write('这个数组的最大值是: ' + max + ',最小值是: ' + min);
</script>
</body>
</html>检查一下代码
请说一下注释部分的sort方法和compare函数的结合使用如何达到排序的,以及如何推导出简写排序?
2回答
一路电光带火花
2019-10-18
compare函数实现排序的原理就是使用了sort的规则,因为sort这个是封装好的,匿名函数就可以实现了。这个相当于替换了匿名函数,但是规则还是一样的,就是
返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
其实sort这个是内部封装好的,我们知道咋用就行了。
好帮手慕糖
2019-10-17
同学你好,1、代码中如下,单词拼写错误,少了一r。

2、这两种不需要结合,其中任何一种都可以达到排序的效果哦。sort是封装好的方法,使用比compare更方便哦。
希望能帮助到你,祝学习愉快!
相似问题