为了账号安全,请及时绑定邮箱和手机立即绑定

JS怎么实现将一维数组转换成二维数组?

JS怎么实现将一维数组转换成二维数组?

PHP
FFIVE 2019-03-14 05:28:19
比如arr1 = [2,2,2,5,5,6,6,6,6,7];按相同拆分想得到arr2 = [[2,2,2],[5,5],[6,6,6,6],[7]];
查看完整描述

3 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

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)
查看完整回答
反对 回复 2019-03-18
?
Qyouu

TA贡献1786条经验 获得超11个赞

[2,2,2,5,5,6,6,6,6,7]
.reduce((m,n) => (m[n] = (m[n] || []).concat(n), m),[])
.filter(a => a)

https://img1.sycdn.imooc.com//5c8f42b70001373b08000199.jpg

查看完整回答
反对 回复 2019-03-18
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

你的一维数组是否已经排好序?
如果已经排好,处理比较简单,否则会比较麻烦。

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 4281 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信