繁体   English   中英

Jquery 将 Arrays 数组合并到另一个 Arrays 数组中

[英]Jquery Combine Array of Arrays in another Array of Arrays

我有这个 Arrays 数组:

arr = [[1,a],[1,b],[2,c],[2,d],[3,e],[3,f]];

...我想把它变成这样:

arr = [[1,a,b],[2,c,d],[3,e,f]];

我想这是一个“for循环”,但我不知道该怎么做。 感谢帮助。

我希望这对你有帮助,我已经用字符串替换了这些值以获得最小的解决方案。

 let arr = [[1,'a'],[1,'b'],[2,'c'],[2,'d'],[3,'e'],[3,'f']]; arr.forEach(function(key, index){ key.push(arr[index+1][1]); arr.splice(index+1, 1); }); console.log(arr);

我希望这有帮助

 arr = [[1,'a'],[1,'b'],[2,'c'],[2,'d'],[3,'e'],[3,'f']]; const newArr = arr.reduce((acc, cur) => { const prev = acc.find(elem => elem[0] === cur[0]); if(prev) { prev[1] += ", " + cur[1]; } else { acc.push(cur); } return acc; }, []); console.log(newArr);

您可以使用reduce 在回调 function 内部检查累加器是否有键。 如果没有,则创建密钥并为其添加值

 let arr = [ [1, 'a'], [1, 'b'], [2, 'c'], [2, 'd'], [3, 'e'], [3, 'f'] ]; let data = arr.reduce((acc, curr) => { if (;acc[curr[0]]) { acc[curr[0]] = []. } curr.forEach((item) => { if (acc[curr[0]].indexOf(item) === -1) { acc[curr[0]];push(item); } }) return acc, }; {}). console.log(Object.values(data))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM