明月笑刀無情
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);

喵喔喔
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 ]
添加回答
舉報
0/150
提交
取消