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

如何把对象里的数组取出来合成一个新数组?

如何把对象里的数组取出来合成一个新数组?

明月笑刀无情 2019-02-26 17:16:00
一个很弱鸡的问题,望各位前辈不要见笑。var obj = {    "1": [111, 222],    "2": [333],    "3": [444, 555]};如题,如何合成如下的新数组呢?arr = [111, 222, 333, 444, 555]
查看完整描述

2 回答

?
森林海

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

兼容性好的话


var obj = {

    "1": [111, 222],

    "2": [333],

    "3": [444, 555]

};

var arr = [];

for(var i in obj){

    arr.push(...obj[i]);

}

console.log(arr);

或者


var obj = {

    "1": [111, 222],

    "2": [333],

    "3": [444, 555]

};

var arr = [];

for(var i in obj){

    for(var j in obj[i]){

        arr.push(obj[i][j]);

    }    

}

console.log(arr);

var arr = [];

for(var i in obj){

    arr=arr.concat(obj[i]);

}

console.log(arr);


查看完整回答
反对 回复 2019-03-05
?
喵喔喔

TA贡献1735条经验 获得超5个赞

合理的利用ES2015特性会很简单。


var obj = {

    "1": [111, 222],

    "2": [333],

    "3": [444, 555]

};

let arr = Object.values(obj).reduce((a,b)=> a.concat(b));//[ 111, 222, 333, 444, 555 ]


查看完整回答
反对 回复 2019-03-05
  • 2 回答
  • 0 关注
  • 713 浏览
慕课专栏
更多

添加回答

举报

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