避免新推送的json嵌套数组中的索引

时间:2018-06-17 10:18:46

标签: javascript arrays nested push

当我将一个新的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)

1 个答案:

答案 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