0

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.

3 Answers 3

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};
  }
}
Sign up to request clarification or add additional context in comments.

Comments

0

I'm not an expert, but I think you could try this: x=x.concat(newData)

Comments

0
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);

1 Comment

It would help if you explained how this code solves the OP's problem.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.