这样的数组怎样排序?
var a = [{
color: 'red',
size: 'A'
},{
color: 'black',
size: 'B'
},{
color: 'white',
size: 'C'
},{
color: 'red',
size: 'C'
},{
color: 'white',
size: 'B'
},{
color: 'black',
size: 'C'
}]
最终想得到的结果为
var a = [{
color: 'red',
size: 'A'
},{
color: 'red',
size: 'C`'
},{
color: 'black',
size: 'B'
},{
color: 'black',
size: 'C'
},{
color: 'white',
size: 'C'
},{
color: 'white',
size: 'B'
}]
即红色的排在一起,黑色的排在一起,白色的排在一起。同时这些颜色的值会有很多,需要写一个公共的方法,把数组里面的相同颜色的元素排放在一起,怎样做?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
楼上的思路是正确的。但如果你一定要按照先 "red" 然后 "black" 再 "white" 的顺序来排,可以这样:
这样你就可以得到先 "red",然后 "black", 然后 "white" 的顺序,并且每个组的 "size" 也是按照字母顺序排好的
如果你不喜欢写死,或者
color
有多少种是不确定的,那你也可以这样写,把不重复的color
值按出现顺序提取出来: