簡體   English   中英

包含數組但長度為0的Javascript數組

[英]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;

vars和vars.length的輸出

我想通過for循環遍歷vars數組,但是我不能,因為我不能在for循環中使用vars.length。

也許還有另一種方法可以遍歷vars anny建議。

您正在使用vars數組作為對象。 數組沒有文字鍵。 使用您的方法,您可以使用以下方法計算值:

Object.values(vars).length

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM