If I had an array as such:
var myarray = [];
myarray.push({
"Name": 'Adam',
"Age": 33
});
myarray.push({
"Name": 'Emily',
"Age": 32
});
This gives me an array where I can pull out values like myarray[0].Name
which would give me "Adam".
However, after this array is built, how can I add an "address" field with a value of "somewhere street" into the array at position [0], so that my fields in that object at position zero are now Name
, Age
, and Address
with corresponding values?
I was thinking splice()
somehow but couldn't find an example using objects, just examples with simple arrays.
You can simply add properties ("fields") on the fly.
Try
myarray[0].Address = "123 Some St.";
or
myarray[0]["Address"] = "123 Some St.";
var myarray = [];
myarray.push({
"Name": 'Adam',
"Age": 33
});
myarray.push({
"Name": 'Emily',
"Age": 32
});
myarray[0]["Address"] = "123 Some St.";
console.log( JSON.stringify( myarray, null, 2 ) );
along with a single value like
myarray[0].address = "your address";
Even you can add nested property on the fly as below:
myarray[0].address = { presentAddress: "my present address..." };
and can get the value as: myarray[0].address.presentAddress;
thanks
来源:https://stackoverflow.com/questions/23768280/add-a-key-value-pair-to-an-array-of-objects-in-javascript