这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
当前回答
下一个Javascript规范(候选阶段3)中简短而优雅的方式是:
obj={…obj,…{key3:value3}}
在Object spread vs Object.assign和Axel Rauschmayers博士的网站上可以找到更深入的讨论。
自8.6.0版以来,它已经在node.js中运行。
最新版本的Vivaldi、Chrome、Opera和Firefox也知道这个功能,但Mirosoft直到今天才知道,无论是在Internet Explorer还是Edge中。
其他回答
我知道这个问题已经有了一个公认的答案,但我想我应该在某个地方记录我的想法。请[人们]自由地戳破这个想法,因为我不确定这是否是最好的解决方案。。。但我几分钟前刚刚把这件事放在一起:
Object.prototype.push = function( key, value ){
this[ key ] = value;
return this;
}
您可以这样使用它:
var obj = {key1: value1, key2: value2};
obj.push( "key3", "value3" );
由于原型函数正在返回此值,因此您可以继续将.push链接到obj变量的末尾:obj.push(…).push(……).press(…);
另一个特性是可以将数组或另一个对象作为push函数参数中的值传递。请参见我的小提琴,以获得一个有效的示例:http://jsfiddle.net/7tEme/
您可以通过以下方式添加:
arr['key3'] = value3;
或者这样:
arr.key3 = value3;
只有当key3的值为“key3”时,建议使用变量key3键入对象的答案才有效。
我们也可以这样做。
var myMap = new Map();
myMap.set(0, 'my value1');
myMap.set(1, 'my value2');
for (var [key, value] of myMap) {
console.log(key + ' = ' + value);
}
你可以用@IonuțG.Stan的答案创建一个类
function obj(){
obj=new Object();
this.add=function(key,value){
obj[""+key+""]=value;
}
this.obj=obj
}
使用最后一个类创建新对象:
my_obj=new obj();
my_obj.add('key1', 'value1');
my_obj.add('key2', 'value2');
my_obj.add('key3','value3');
打印对象
console.log(my_obj.obj) // Return {key1: "value1", key2: "value2", key3: "value3"}
打印密钥
console.log(my_obj.obj["key3"]) //Return value3
我是javascript新手,欢迎评论。对我有用。
大多数浏览器都支持,它检查对象键是否可用,如果可用,它将覆盖现有的键值,如果不可用,则使用值添加键
示例1
let my_object = {};
// now i want to add something in it
my_object.red = "this is red color";
// { red : "this is red color"}
示例2
let my_object = { inside_object : { car : "maruti" }}
// now i want to add something inside object of my object
my_object.inside_object.plane = "JetKing";
// { inside_object : { car : "maruti" , plane : "JetKing"} }
示例3
let my_object = { inside_object : { name : "abhishek" }}
// now i want to add something inside object with new keys birth , gender
my_object.inside_object.birth = "8 Aug";
my_object.inside_object.gender = "Male";
// { inside_object :
// { name : "abhishek",
// birth : "8 Aug",
// gender : "Male"
// }
// }