如何在javascript中为对象添加值?

时间:2015-09-02 05:06:12

标签: javascript angularjs

让我们在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。它只是一个例子而不是真正的代码。

2 个答案:

答案 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标识符的属性名称(例如,具有空格或连字符的属性名称,或以数字开头的属性名称)

只能使用方括号表示法访问。当要动态确定属性名称时(在运行时之前未确定属性名称),此表示法也非常有用。