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

一个很弱鸡的问题,望各位前辈不要见笑。


var obj = {

    "1": [111, 222],

    "2": [333],

    "3": [444, 555]

};

如题,如何合成如下的新数组呢?


arr = [111, 222, 333, 444, 555]


明月笑刀无情
浏览 714回答 2
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);

喵喔喔

合理的利用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 ]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript