Javascript 如何在对象内部合并对象
我有一个数组Javascript 如何在对象内部合并对象,javascript,arrays,object,Javascript,Arrays,Object,我有一个数组 var input = [["group1","group2","group3" ], ["group1", "group5" ]] 我想合并两个对象,如下所示: ["group1","group2","group3", "group1", "group5" ] function reducer(final_flat_array, inputItem) { return [...final_flat_array, ...inputItem] }; let fla
var input = [["group1","group2","group3" ], ["group1", "group5" ]]
我想合并两个对象,如下所示:
["group1","group2","group3", "group1", "group5" ]
function reducer(final_flat_array, inputItem) {
return [...final_flat_array, ...inputItem]
};
let flat_array = input.reduce(reducer, []);
我试图将两个对象合并到一个数组中,但是,我无法得到答案。
任何帮助都将不胜感激 我对js不太熟悉,但是你不能用类似于
var merged = input[0].concat(input[1]);
你说的是“整平阵列”
const flatten = (array) => {
return array.reduce((flat, toFlatten) => {
return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
}, []);
}
console.log(flatten([[1,2,[3]],4]));
您可以像这样使用concat:
常量输入=[
[第1组、第2组、第3组],
[第一组,第五组]
];
常量输出=[].concat.apply[],输入;
console.logoutput ES5
ES6
可以使用concat函数组合数组
const resultArr = [];
input.forEach(curr => {
resultArr.concat(curr);
});
您可以采取多种方法,我最喜欢的方法是使用reduce方法将二维数组转换为一个平面数组,它如下所示:
["group1","group2","group3", "group1", "group5" ]
function reducer(final_flat_array, inputItem) {
return [...final_flat_array, ...inputItem]
};
let flat_array = input.reduce(reducer, []);
或者我想是一种更“迫切”的方式:
let flat_array = [];
input.forEach(item => flat_array.push(item);
不,您不需要:您想要连接数组,而不是合并对象。为了连接数组,有一个内置的函数。这叫做展平。这应该可以很好地工作。回答得好,很有效!谢谢: