当我将一个新的json数组推入现有数组时,它会在汽车和模型之前用0对其进行索引。
有没有办法避免这种情况? 感谢
var myJsonArray = { baseID:'1', optionsArray:[] };
myJsonArray.optionsArray.push(myObj);
myObj = {
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] },
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]
}
结果:
optionsArray:Array(1)
0:
cars:(3) [{…}, {…}, {…}]
__proto__:Object
length:1
__proto__:Array(0)
答案 0 :(得分:1)
javascript中的数组总是有数字索引。使用"汽车"而不是数字,使用对象而不是数组:
var myJsonArray = { baseID: '1', optionsArray: {} };
var myObj = {
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] },
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]};
myJsonArray.optionsArray = Object.assign(myJsonArray.optionsArray, myObj);
结果:
baseID: "1"
optionsArray:
cars: (3) [{…}, {…}, {…}]
__proto__: Object__
proto__: Object