'How to add data to an object in an array
So I want to add some data to an array.
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}
]
I know about the push function but this just adds the newData to the array. I want to add it to an object inside the array.
Solution 1:[1]
Your array needs to have some kind of identifier for each object (Or you can use the index of the object inside the array, which might change, depending on your actions).
const dataArray = [
{id: 1, /* .. other data */},
{id: 2, /* .. other data */},
{id: 3, /* .. other data */}
]
The following method receives an identifier to search for the object inside the array. If it was found, the new data will be added to this very object.
function addToX(identifier: number, newData: object) {
const obj = dataArray.find((x) => x.id === identifier);
if (obj) {
obj.newData = {...newData};
}
}
Solution 2:[2]
I'm not an expert, but I think you could try this: x=x.concat(newData)
Solution 3:[3]
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);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Philipp Meissner |
| Solution 2 | Joanne |
| Solution 3 | Aromal A |
