Я хочу объединить n массивов в один.
например
// Array1
[{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54}]
// Array 2
[{name:'dgc', age:54}]
// Required output
[{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54},{name:'dgc', age:54}]
Я пробовал много других подобных вопросов, но ничего не работало для меня. пожалуйста, помогите мне с примером.
Учитывая, что вы хотите объединить n
массивов, вы можете использовать массив с этими массивами и использовать concat
и reduce
чтобы объединить их:
var array1 = [{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54}];
var array2 = [{name:'dgc', age:54}];
var arrays = [array1, array2];
var merged = arrays.reduce((acc, next) => acc.concat(next));
console.log(merged);
Вы можете использовать concat
и распространение синтаксиса ES6.
var arr1 = [{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54}]
var arr2 = [{name:'dgc', age:54}]
var r = [].concat(...arr1, ...arr2);
console.log(r)
Или вы можете создать функцию, которая принимает любое количество массивов и возвращает новый массив.
var arr1 = [{name:'abc', age:34},{name:'xyz', age:44},{name:'fng', age:54}]
var arr2 = [{name:'dgc', age:54}]
let merge = (...arr) => [].concat(...arr);
console.log(merge(arr1, arr2))