Javascript 如何将值推入对象
我有一件像这样的东西Javascript 如何将值推入对象,javascript,object,Javascript,Object,我有一件像这样的东西 var myObj = { "name":"John", "age":30, "cars": { "car1":"Ford", "car2":"BMW", "car3":"Fiat" } } myObj['model']='XUV'; 我知道要添加这样的条目 var myObj = { "name":"John", "age":30, "cars": { "car1":"Ford", "car2":"B
var myObj = {
"name":"John",
"age":30,
"cars": {
"car1":"Ford",
"car2":"BMW",
"car3":"Fiat"
}
}
myObj['model']='XUV';
我知道要添加这样的条目
var myObj = {
"name":"John",
"age":30,
"cars": {
"car1":"Ford",
"car2":"BMW",
"car3":"Fiat"
}
}
myObj['model']='XUV';
但我想在cars对象中添加一个条目,将新的“Audi”汽车添加为car4
你能告诉我怎么加这个吗
最终输出应该是这样的
var myObj = {
"name":"John",
"age":30,
"cars": {
"car1":"Ford",
"car2":"BMW",
"car3":"Fiat",
"car4":"Audi"
}
}
只是
您需要首先访问cars对象,然后在那里分配一个新的键值,以便使用myObj.cars.car4='Audi'或使用[]即myObj.cars['car4']='Audi'
var myObj={
姓名:约翰,
年龄:30,,
汽车:{
car1:福特,
车2:宝马,
汽车3:菲亚特
}
}
myObj.cars.car4=‘奥迪’;
console.logmyObj 2017回答:Object.assign
2018对象扩展运算符{…}
在我看来,这是一个构建糟糕的JSON。我将使用数组而不是命名的属性car+someIndex myObj变种= { 姓名:约翰, 年龄:30,, 汽车:[ {品牌:福特}, {品牌:宝马}, {品牌:菲亚特} ] } myObj.cars.push{品牌:雷诺};
console.logmyObj 可以通过多种方式向属性添加新属性 myObj['cars']['car4']='Audi' myObj['cars'].car4='Audi' myObj.cars['car4']='Audi' myObj.cars.car4=‘奥迪’ Object.assign: Object.assignmyObj.cars,{car4:'Audi'} 新ECMA 7扩展运算符…: myObj.cars={…myObj.cars,car4:'奥迪'} 使用Lodash=需要“Lodash”: _.setmyObj、[‘汽车’、‘汽车4’]、‘奥迪’ lodash.js还可以创建新属性的属性:
_.set(myObj, ['newProp', 'newCar', 'newBrand'], 'Think');
请访问,采取的,看看什么和。做一些研究,搜索相关话题等;如果你被卡住了,发布一个你的尝试,注意输入和预期的输出。我会把它命名为文字对象,而不是json。在汽车列表中使用对象似乎是错误的。我建议将其改为数组,然后使用myObj.cars.push“Audi”;
_.set(myObj, ['newProp', 'newCar', 'newBrand'], 'Think');