1 回答

TA貢獻1780條經驗 獲得超4個贊
按照你提供的截圖,我拼了個數據
var res = {
data: [
{
lists: [
{
mac: "",
port_types: [
{ act: 1, port_type: 1 },
{ act: 0, port_type: 2 },
{ act: 1, port_type: 3 }
]
}
]
}
]
}
在瀏覽器 (Chromium) 里展開結構和你給的圖是一樣的
res.data[0].lists[0].port_types 是一個列表,可以簡單的用 forEach 遍歷
res.data[0].lists[0].port_types.forEach(typeObj => {
console.log(typeObj);
// { act: 1, port_type: 1 }
// { act: 0, port_type: 2 }
// { act: 1, port_type: 3 }
// 或
console.log(typeObj.port_type);
// 1
// 2
// 3
});
當然也可以用 for 遍歷,但為了清楚明了,最好使用一個中間變量(你的代碼的問題就在于輸出的東西不對,不應該是 ....port_types,而應該是 ....port_types[i]):
var portTypes = res.data[0].lists[0].port_types;
for (let i = 0; i < portTypes.length; i++) {
console.log(portTypes[i]);
console.log(portTypes[i].port_type);
}
當然,實際上 res.data 是一個數組,其中每個元素的 list 又是一個數組,再往下的 port_types 又是一個數組,要完全遍歷的話,需要三重循環(huán)
for (let i = 0; i < res.data.length; i++) {
const lists = res.data[i].lists;
for (let j = 0; j < lists.length; j++) {
const portTypes = lists[j].port_types;
for (let k = 0; k < portTypes.length; k++) {
console.log(portTypes[k]);
console.log(portTypes[k].port_type);
}
}
}
添加回答
舉報