猿问

js 数组分组?

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-* 为第二组;

   ....

以此类推,求解

*/


12345678_0001
浏览 583回答 1
1回答

慕沐林林

题意里分组的共同点在于元素的第一个字符(应该说是连线符前的字符串)相同,所以可以用一个对象(其实就是类似字典的含义),把对应数据组合在一起放到同一个地方去。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);})
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答