var list = ['1-10','1-20','1-22','2-2','2-3','2-4','3-1','3-5','4-6','5-10'];/*如何将上面数组分成5组?如:1-* 为第一组; 2-* 为第二组; ....以此类推,求解*/
1 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
题意里分组的共同点在于元素的第一个字符(应该说是连线符前的字符串)相同,所以可以用一个对象(其实就是类似字典的含义),把对应数据组合在一起放到同一个地方去。
var obj = {};
var list = ['1-10','1-20','1-22','2-2','2-3','2-4','3-1','3-5','4-6','5-10'];
list.forEach(function(e){
var index = e.split('-')[0];
if(!obj[index]){
obj[index] = [];
}
obj[index].push(e);
})
添加回答
举报
0/150
提交
取消
