我试图循环对象数组通过以下:通过循环使用javascript
{
"machine": [{
"cost_center": "15023 DC1 M3 - Hassia1",
"item": [{
"batchno": "367721",
"itemno": "12028"
}, {
"batchno": "367722",
"itemno": "12328"
}, {
"batchno": "367723",
"itemno": "12608"
}]
}, {
"cost_center": "15033 DC1 M4 - Hamba",
"item": [{
"batchno": "367729",
"itemno": "11850"
}, {
"batchno": "367730",
"itemno": "11851"
}, {
"batchno": "367731",
"itemno": "11852"
}]
}, {
"cost_center": "15043 DC1 M5 - 1KG Machine",
"item": {
"batchno": "367732",
"itemno": "12592"
}
}]
}
var json = '{"machine":[{"cost_center":"15023 DC1 M3 - Hassia1","item":[{"batchno":"367721","itemno":"12028"},{"batchno":"367722","itemno":"12328"},{"batchno":"367723","itemno":"12608"}]},{"cost_center":"15033 DC1 M4 - Hamba","item":[{"batchno":"367729","itemno":"11850"},{"batchno":"367730","itemno":"11851"},{"batchno":"367731","itemno":"11852"}]},{"cost_center":"15043 DC1 M5 - 1KG Machine","item":{"batchno":"367732","itemno":"12592"}}]}';
var obj = JSON.parse(json);
var db = obj.machine;
for (var m in db) {
if (db.hasOwnProperty(m)) {
var item = db[m].item;
console.log('cost_center ' + m + ' = ' + db[m].cost_center);
for (var i in item) {
if (item.hasOwnProperty(i)) {
var prod = item[i];
console.log('-itemno ' + i + ' ' + prod.itemno);
}
}
}
}
我也发现了类似的问题here但不同的躺在我的数据,我的前两个cost_centers有数组作为元素,我的第三个不是数组。
COST_CENTER 0 = 15023 DC1 M3 - Hassia1
-itemno 0 12028
-itemno 1 12328
-itemno 2 12608
COST_CENTER 1 = 15033 DC1 M4 - Hamba
-itemno 0 11850
-itemno 1 11851
-itemno 2 11852
COST_CENTER 2 = 15043 DC1 M5 - 1KG机
-itemno batchno未定义
-itemno itemno undefined
如何遍历所有内容并仍然从cost_center中获取所有不包含数组的值? 谢谢
你或许应该提到所需的输出,使人们能够帮助并看看你做错了什么。 –
如果您运行代码,您可以通过执行一些'if' – Muhaimin
来重复其中的对象循环,您可以真正看到我在说什么。但我会编辑这个问题。谢谢@AnuragSinghBisht – Jonathan