在javascript中的现有对象中添加新元素

时间:2016-01-23 10:52:42

标签: javascript

我想在已经存在的javaScript对象中插入一个新元素。 我试过的是这个:

var newElement = someValue;

1/ obj.newElement = value
2/ obj[newElement] = value
3/ $(obj).extend({newElement: value})

但他们都没有工作?

我想做的是

var tuple = {};
var f = ["a","b"...]; // there are many values in the array

tuple[f[0]] = "c";
tuple[f[1]] = "d";

我也试过jQuery

$(tuple).extend({f[0]:"c",f[1]:"d"});

1 个答案:

答案 0 :(得分:3)

第一次尝试应该有效,而第二次尝试应该为newElement添加引号:

obj["newElement"] = value

因为没有引号,newElement将被视为变量,您将收到以下错误消息:

  

未捕获的ReferenceError:未定义newElement



var my_object= {test: 'test'};

my_object.newElement = 10;
//Or
my_object['newElement'] = 10;

console.log(my_object); //Object {test: "test", newElement: 10}




更新后

现在,如果您将newElement作为变量,则第一次尝试将添加属性newElement而不是newElement变量中的值,而对于第二次尝试,它将正常工作,请检查片段轰鸣声。



var obj={test: 'test'};
var newElement = 'someValue';

obj.newElement = 10
//or
obj[newElement] = 10

console.log(obj); //{test: "test", newElement: 10, someValue: 10}