[英]How do I dynamically name a property and push objects to it?
我正在使用Angular,並且有Underscore庫可用。
this.people = {};
var self = this;
var data = { 'name' : 'cool', 'age' : 23 };
我想在people對象內部動態創建數組,並能夠將數據推送到每個對象中...
所以我認為類似的東西會起作用...
var arrName = 'group1';
this.people[arrName].push(data);
要么...
this.people[arrName].push(data);
我想要一個像
people : {
'group1' : {
{ 'name' : 'test', 'age' : 21 },
{ 'name' : 'test', 'age' : 27 },
{ 'name' : 'test', 'age' : 23 },
},
'group2' : {
{ 'name' : 'test2', 'age' : 21 },
{ 'name' : 'testaaa', 'age' : 27 },
{ 'name' : 'testbbb', 'age' : 23 },
}
}
console.log(self.people);
但是“ group1”和“ group2”必須是動態的,並且可以通過變量創建...
我附上了jsfiddle。
https://jsfiddle.net/2urqvxzh/1/
然后將這些存儲在LocalStorage中,對象很可能會到達每個陣列中的幾百個項目,並且人中最多可能有50個陣列。
您需要像這樣動態創建數組:
var people = {};
var arrName1 = 'group1';
people[arrName1] = []; // here declare an array with [] or new Array()
people[arrName1].push(data); // then you can push
最后,您的對象將如下所示:
people : {
'group1' : [ //group 1 needs to be an array, not an object
{ 'name' : 'test', 'age' : 21 },
{ 'name' : 'test', 'age' : 27 },
{ 'name' : 'test', 'age' : 23 },
],
'group2' : [
{ 'name' : 'test2', 'age' : 21 },
{ 'name' : 'testaaa', 'age' : 27 },
{ 'name' : 'testbbb', 'age' : 23 },
]
}
一個對象需要key/value
,一個數組只有值。 您在考慮數組但創建了一個對象。
你可以這樣做...
var people = {};
var arrName1 = 'group1';
var data = { 'name' : 'cool', 'age' : 23 };
people[arrName1] = new Array(data);
這是一個示例JSFiddle https://jsfiddle.net/DivakarDass/2urqvxzh/6/
您的輸出將像...
people : {
'group1' : [
{ 'name' : 'test', 'age' : 21 },
{ 'name' : 'test', 'age' : 27 },
{ 'name' : 'test', 'age' : 23 },
],
'group2' : [
{ 'name' : 'test2', 'age' : 21 },
{ 'name' : 'testaaa', 'age' : 27 },
{ 'name' : 'testbbb', 'age' : 23 },
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.