含阵列但长度Javascript数组是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;含阵列但长度Javascript数组是0
我想通过增值经销商阵列一个循环回路,但我不能,因为我不能使用vars.length在我的for循环。
或者也许有其他的方式来循环变量anny建议是值得欢迎的。
回答:
您正在使用您的vars
数组作为对象。数组不具有文字键。通过您的方法,您可以使用以下数值计算您的值:
Object.values(vars).length
以上是 含阵列但长度Javascript数组是0 的全部内容, 来源链接: utcz.com/qa/258356.html