当前位置:   article > 正文

利用原生JavaScript的Array数组对象的sort()方法进行对数组排序_js 数组对象排序 原生方法

js 数组对象排序 原生方法

利用原生JavaScript的Array数组对象的sort()方法在这里插入图片描述

图片–需要结合用到的知识:

1. 问题: 利用原生JavaScript的Array对象的sort()方法会出现一些问题:

(1)假设要进行升序/降序排列的是一个正确的数组形式的数据,

① 直接 [123, -06, 06, 99, 0.6].sort(); --> 返回的结果挺让人惊讶的,就是
-6, 0.6,123,6,99,这个结果明显是不正确的!!!(当然,在Java语法中这样写是会返回我们想要的排序结果的);
② 实际上,在原生JavaScript中要利用sort()方法对一个数组排序,就得结合一定的规则来实现;比如我们是要进行升序排列还是降序排列,结合箭头函数,完整写法一般是–[123, -06, 06, 99, 0.6].sort((a, b) => (a - b));

2.解决方法:需要结合一定规则来实现是要“降序排列”还是“升序排列”;

(1)升序排列:
[123, -06, 06, 99, 0.6].sort((a, b) => (a - b));

(2)降序排列:
[123, -06, 06, 99, 0.6].sort((a, b) => (b - a));

3.进一步地,我们可以封装一个函数来进行更加符合我们操作与使用习惯的方法实现:

(1)代码书写:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dwpYT36T-1606656011630)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201129205953960.png)]

(2)实现效果:

**a. 正常时,传入的参数完全正确:**[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ghAZGJ6-1606656011641)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201129210026728.png)]

b. 抛出异常时(比如传入的不是一个数组):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PoCSdq7f-1606656011646)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201129210404951.png)]

4. 附加说明:

(1)此处还用到了(结合了)判断数组的方法,有两个:

a. Array.isArray( );

b. xxx instanceof Array;

c.如果以上的结果是false,则传入的就不是数组了,就要提示用户一定要输入数组!!!

d. 当然,我也是今晚看到一个视频和自己去试了一下Array对象的sort( )方法才看到这样一个问题,自己不试的话还真不知道这样一个用法!!!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MowAmqdz-1606656011651)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201129211259118.png)]

e. 从别人的说明当中也多少受到了启发:

推荐一下网址:https://www.runoob.com/jsref/jsref-sort.html

推荐一下网址:https://www.runoob.com/jsref/jsref-sort.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P87Obc9W-1606656011655)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201129211349614.png)]

(…呼,反正今晚就写这一个笔记文章真的费劲,搞来搞去自己不会用,费了九牛二虎之力)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/384029
推荐阅读
相关标签
  

闽ICP备14008679号