Итак, я хочу добавить некоторые данные в массив.
this is my array
var x = [
{some data},
{some data},
{some data}
]
this is my new data I want to add to an object in the array x
var newData = [
{}
]
I want this as result:
x = [
{some data},
{some data, {newData} },
{some data}
]
Я знаю о функции push, но это просто добавляет новые данные в массив. Я хочу добавить его к объекту внутри массива.
3 ответа
В вашем массиве должен быть какой-то идентификатор для каждого объекта (или вы можете использовать индекс объекта внутри массива, который может измениться в зависимости от ваших действий).
const dataArray = [
{id: 1, /* .. other data */},
{id: 2, /* .. other data */},
{id: 3, /* .. other data */}
]
Следующий метод получает идентификатор для поиска объекта внутри массива. Если он был найден, новые данные будут добавлены в этот самый объект.
function addToX(identifier: number, newData: object) {
const obj = dataArray.find((x) => x.id === identifier);
if (obj) {
obj.newData = {...newData};
}
}
Я не эксперт, но думаю, вы могли бы попробовать это: x=x.concat(newData)
let x:any =[];
let y:any =[];
x= [
{'data' : 1},
{'data' : 2},
{'data' : 3},
];
y =[
{'newData' : 1},
{'newData' : 2},
{'newData' : 3},
];
x.push({'data':y});
console.log(x);
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.