鍍金池/ 問答/PHP  HTML/ JS怎么實(shí)現(xiàn)將一維數(shù)組轉(zhuǎn)換成二維數(shù)組?

JS怎么實(shí)現(xiàn)將一維數(shù)組轉(zhuǎn)換成二維數(shù)組?

比如
arr1 = [2,2,2,5,5,6,6,6,6,7];
按相同拆分
想得到
arr2 = [[2,2,2],[5,5],[6,6,6,6],[7]];

回答
編輯回答
安于心

你的一維數(shù)組是否已經(jīng)排好序?
如果已經(jīng)排好,處理比較簡單,否則會比較麻煩。

2018年3月19日 01:41
編輯回答
疚幼
let arr1 = [2,2,2,5,5,6,6,6,6,7];
function trans (arr) {
    let pre = NaN
    let result = []
    let curArr
    arr.forEach(cur => {
        if (cur === pre) {
            curArr.push(cur)
        } else {
            curArr = [cur]
            result.push(curArr)
            pre = cur
        }
    })
    return result
}
trans(arr1)
2017年7月22日 20:57
編輯回答
我不懂
[2,2,2,5,5,6,6,6,6,7]
.reduce((m,n) => (m[n] = (m[n] || []).concat(n), m),[])
.filter(a => a)

clipboard.png

2018年6月18日 17:29