让我们在javascript中举个例子
var b = function(){
var key = {};
var result = [];
var a =
[{people: "people1"},
{people: "people2"},
{people: "people2"},
{people: "people3"}]
for(i=0;i<a.length;i++)
{
var val = a[i][people];
if(angular.isUndefined(key[val]))
{
Key[val] = "abc"; /////This line is foreign to my knowledge.
result.push(val);
}
}
return result;
}
现在在本例中我创建了一个对象键和一个数组结果。
for循环将遍历变量并将人员属性的值存储在 var val 中。
angular.Isundefined函数检查键[val] 是否包含任何重复数据,否则它将使用
添加键[val] =&#34; abc&#34; 。
1)现在我不知道这一行是如何在键对象中创建值和密钥对的。
2)请告诉我为对象增加价值的其他方法。
O / P如下
key = Object {people1: abc, people2: abc, people3: abc}
因此它为键对象增加值而不重复该值。
P.S。它只是一个例子而不是真正的代码。
答案 0 :(得分:0)
在下面的例子中我在我的json中添加count我的json来自ajax但是我想添加count以便在代码下面添加count以便我在这里工作正常.count是我自己添加的自定义值,它不是我回复的一部分
$scope.data = response.items;
for (var i = 0; i < response.items.length; i++) {
response.items[i].count = i;
}
答案 1 :(得分:0)
来自评论中 Andreas 的链接
我认为这解决了我的问题。
将键和值添加到JSON对象的另一种方法是这样的。
obj = {};
obj[people1] = "data";
obj[people2] = "data";
obj[people3] = "data";
console.log(obj);
密钥不能相同,但值可以相同。
所以这就是我的问题
Key[val] = "abc";
此行动态获取 val变量并添加 val变量作为键,值为 abc 。
扭:
你认为那个
key.val = "abc";
工作?
没有: 这是网站提供的内容
任何不是有效JavaScript标识符的属性名称(例如,具有空格或连字符的属性名称,或以数字开头的属性名称)
只能使用方括号表示法访问。当要动态确定属性名称时(在运行时之前未确定属性名称),此表示法也非常有用。