比如
arr1 = [2,2,2,5,5,6,6,6,6,7];
按相同拆分
想得到
arr2 = [[2,2,2],[5,5],[6,6,6,6],[7]];
比如
arr1 = [2,2,2,5,5,6,6,6,6,7];
按相同拆分
想得到
arr2 = [[2,2,2],[5,5],[6,6,6,6],[7]];
[2,2,2,5,5,6,6,6,6,7]
.reduce((m,n) => (m[n] = (m[n] || []).concat(n), m),[])
.filter(a => a)
const arr = [2, 2, 2, 5, 5, 6, 6, 6, 6, 7];
const map = new Map();
arr.forEach((n) => {
if (map.has(n)) {
map.set(n, [...map.get(n), n]);
} else {
map.set(n, [n]);
}
});
console.log('collect values: ', [...map.values()]);
// collect values: [ [ 2, 2, 2 ], [ 5, 5 ], [ 6, 6, 6, 6 ], [ 7 ] ]
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
3 回答838 阅读✓ 已解决
3 回答1k 阅读✓ 已解决