如何动态命名属性并将对象推送到该属性
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 },
]
}
相关文章:
- 为什么我可以在Array属性对象中找到Javascript Array for Each方法
- 使用onclick调用属性对象函数
- 嵌套为..in 循环,列出多维对象的属性(对象)
- 动态属性对象 - JSON
- 在不使用隔离范围angularjs自定义指令的情况下获取属性对象
- 通过属性传递属性/对象.Javascript
- Javascript:属性/对象的类型
- 访问JSON中的属性(对象)
- 属性对象Javascript不是用Jquery Deferred设置的
- 无法读取属性'#<对象>'未定义的获取错误
- Twitter中多属性对象的子字符串匹配
- 无法设置'data'属性'对象'标记.(只IE8)
- 更新数据属性对象属性值
- 将属性对象的选定对象从原型推入数组
- 将单个属性对象字面量的数组转换为仅包含其值的数组的最佳方法
- 寻找一种更简单的方法来检查是否多个属性&对象中的方法是未定义的
- 主干模型:带有get方法的空属性,但在属性对象中
- 如何赋值给"text"someText"属性对象在动能js
- Angularjs的数据绑定与数据属性对象
- 如何将一个嵌套的javascript对象转换为只有一级属性对象