我想在已经存在的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"});
答案 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}