这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
当前回答
大多数浏览器都支持,它检查对象键是否可用,如果可用,它将覆盖现有的键值,如果不可用,则使用值添加键
示例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"
// }
// }
其他回答
arr.key3 = value3;
因为你的arr不是一个数组。。。这是一个原型对象。真正的数组应该是:
var arr = [{key1: value1}, {key2: value2}];
但这仍然不正确。实际上应该是:
var arr = [{key: key1, value: value1}, {key: key2, value: value2}];
示例显示的是对象,而不是数组。在这种情况下,将字段添加到Object的首选方法是只分配给它,如下所示:
arr.key3 = value3;
为了给对象添加键值对,以便for In与该元素一起使用,请首先执行以下操作:
var nwrow = {'newkey': 'value' };
for(var column in row){
nwrow[column] = row[column];
}
row = nwrow;
您可以使用其中一个(前提是key3是您想要使用的实际键)
arr[ 'key3' ] = value3;
or
arr.key3 = value3;
如果key3是变量,则应执行以下操作:
var key3 = 'a_key';
var value3 = 3;
arr[ key3 ] = value3;
之后,请求arr.a_key将返回值3,即文本3。
只需添加财产:
我们想将prop2:2添加到这个对象中,这是最方便的选项:
点运算符:object.prop2=2;方括号:对象['prop2']=2;
那么我们用哪一个呢?
dot运算符的语法更加简洁,应该用作默认值(imo)。但是,点运算符不能向对象添加动态关键点,这在某些情况下非常有用。下面是一个示例:
常量对象={方案1:1}const key=Math.random()>0.5?'key1':'key2';obj[key]=“此值具有动态键”;console.log(obj);
合并对象:
当我们想要合并两个对象的财产时,以下是最方便的选项:
Object.assign(),将目标对象作为参数,以及一个或多个源对象,并将它们合并在一起。例如:
常量对象1={a: 1中,b: 2,};const object2=对象分配({c: 3中,d: 4个},对象1);console.log(对象2);
对象排列运算符。。。
常量对象={prop1:1,第2部分:2}常量newObj={…对象,prop3:3,第4部分:4}console.log(newObj);
我们用哪一个?
扩展语法不那么冗长,应该用作默认的imo。不要忘记将此语法转换为所有浏览器都支持的语法,因为它相对较新。Object.assign()更加动态,因为我们可以访问作为参数传入的所有对象,并且可以在将它们分配给新对象之前对它们进行操作。