gpt4 book ai didi

Javascript array.length 属性

转载 作者:行者123 更新时间:2023-11-30 10:09:04 24 4
gpt4 key购买 nike

我正在研究名字非常有名的 learnyounode。 #9 是“JUGGLING ASYNC”,说明将 3 个 url 作为参数并按参数顺序输出内容。我通过添加一个计数器让它工作,但我的原件不起作用:

var http = require('http'),
bl = require('bl'),
store = [],
count = 0; //added later

process.argv.forEach(function(element, index, array) {
if (index > 1) {
http.get(element, function(response) {
response.pipe(bl(function(err, data) {
store[index] = data.toString();
count++; //added later
if (store.length == 3) {
store.forEach(function(e,is,a) {
console.log(e);
});
}
}));
});
}
});

现在,如果您在第 12 行将 store.length 替换为 count,一切正常,我只是想不通为什么数组上的 .length 不够用。有人知道吗?

最佳答案

在 javascript 数组中,当您在索引 5 处给一个空数组一个项目时,这意味着该数组有 6 个项目,其中项目 0-4 未定义。

例如

var x = [];
console.log(x.length); //prints 0;
x[2] = "hello, world";
console.log(x.length); //prints 3;

您将跳过前两个元素但仍使用 index,因此当您将第一个元素输入 store 时,您将其输入 store [2],当count只有1时,使得长度为3。

关于Javascript array.length 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27535140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com