javascript - 重构数组的算法
迷茫
迷茫 2017-04-11 12:45:09
[JavaScript讨论组]

如何把 [a,b,a,a,c,b,c],重组成[a,a,a,c,c,b,b]的排列顺序,主要是需要相同的元素要排列在一起

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(4)
伊谢尔伦
if (主要是需要相同的元素要排列在一起){
    var a = ['a','b','a','a','c','b','c'];
    a.sort(); //["a", "a", "a", "b", "b", "c", "c"]
} else if (把 [a,b,a,a,c,b,c],重组成[a,a,a,c,c,b,b]的排列顺序){
    不知道这样排是为了啥。如果固定是这样。就先排序。
    把特定的元素排在特定的地方。比如说把'b'提出来放最后去就行了。
} else ...
怪我咯
 var arrs=['a','b','a','a'];
 arrs.sort();
 alert(arrs)
迷茫

解释一下sort()的原理:sort()可接受一个比较函数并根据这个比较函数对数组元素进行排列,如果不使用比较函数作为参数,将默认对数组元素按字符编码进行排序,可以参考这位大神的文章:
https://segmentfault.com/a/11...

var arr = ['a','b','a','a','c','b','c'];
alert(arr.sort());
巴扎黑

楼下正解,sort方法自带你的需求

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号