[英]Javascript array containing arrays but length is 0
var food = ["fruit=apple", "fruit=banana", "drink=cola"];
var vars = [];
for(var i = 0; i < food.length; i++)
{
var key = food[i].substring(0, food[i].indexOf("="));
if (vars[key] == undefined){
vars[key] = [];
}
vars[key].push(food[i].toLowerCase().split("=")[1]);
}
console.log(vars);
console.log(vars.length);
上面代碼的輸出將輸出此內容。 但是問題在於長度:0。我什至不知道這怎么可能,因為您可以清楚地看到該數組包含[fruit:Array(2),Drink:Array(1)]。 但是它仍然說長度:0;
我想通過for循環遍歷vars數組,但是我不能,因為我不能在for循環中使用vars.length。
也許還有另一種方法可以遍歷vars anny建議。
您正在使用vars
數組作為對象。 數組沒有文字鍵。 使用您的方法,您可以使用以下方法計算值:
Object.values(vars).length
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.