数组扩展之扩展运算符
来源: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更方便哦。
希望能帮助到你,祝学习愉快!
相似问题