【发布时间】:2018-01-09 04:13:29
【问题描述】:
我正在尝试通过执行以下操作在 for 循环中创建一个数组:
var newArr = [];
for(var j=0; j < ChargeTypes.ChargeType.length; j++){
var ChargeTypeId = ChargeTypes.ChargeType[j].ChargeTypeId;
var Date = ChargeTypes.ChargeType[j].Charge[0]['@attributes'].Date;
var NoOfRoomsAvailable = ChargeTypes.ChargeType[j].Charge[0]['@attributes'].NoOfRoomsAvailable;
newArr.push({ChargeTypeId},{Date});
newArr.push({ChargeTypeId},{NoOfRoomsAvailable});
};
alert( JSON.stringify(newArr) );
这是在创造:
[
{"ChargeTypeId":"1"},
{"Date":"2017-12-28"},
{"ChargeTypeId":"1"},
{"NoOfRoomsAvailable":"0"},
{"ChargeTypeId":"23"},
{"Date":"2017-12-28"},
{"ChargeTypeId":"23"},
{"NoOfRoomsAvailable":"3"}
]
但我希望得到这样的东西:
[1] //ChargeTypeID
{
Date:"2017-12-28",
NoOfRoomsAvailable:"0"
},
[23] //ChargeTypeID
{
Date:"2017-12-28",
NoOfRoomsAvailable:"3"
}
我试过用这个:
newArr[ChargeTypeId].push("Date",Date);
newArr[ChargeTypeId].push("NoOfRoomsAvailable",NoOfRoomsAvailable);
但我收到此错误:
TypeError: newArr[ChargeTypeId] 未定义
我显然遗漏了一些东西,这可能是一些小东西,哈哈,但如果有人能帮助我,那就太好了。
【问题讨论】:
-
已编辑答案,请检查
标签: jquery for-loop multidimensional-array