返回0的Javascript数组长度

返回0的Javascript数组长度,javascript,arrays,Javascript,Arrays,当我使用console.log打印数组长度时,它返回0。 但在控制台中,如果我写入txt.length,它将返回实际长度(在我的例子中为60)。由于这个原因,我无法遍历txt数组 var txt; function preload() { txt = loadStrings("DataProcess/outData.txt"); console.log(txt); console.log(txt.length); } 您需要在回调中获取长度。从文档中,函数接受3个参数 loadS

当我使用console.log打印数组长度时,它返回0。 但在控制台中,如果我写入
txt.length
,它将返回实际长度(在我的例子中为60)。由于这个原因,我无法遍历txt数组

var txt;

function preload() {
  txt = loadStrings("DataProcess/outData.txt");
  console.log(txt);
  console.log(txt.length);
}

您需要在回调中获取长度。从文档中,函数接受3个参数

loadStrings(文件名,[callback],[errorCallback])

意思是你应该这样做:

var txt;

function preload() {
  loadStrings("DataProcess/outData.txt", (res) => {
    txt = res
    console.log(txt.length);
  })

}

我们可以看看
loadStrings
函数中发生了什么吗?当您将文件路径传递给该函数时,函数中似乎出现了一些异步操作。这里的
loadStrings()
是什么?它是p5.js loadStrings函数@Zarif访问此链接以获取需要使用回调的字符串数组。回调:这是在函数成功执行后调用的函数。这个函数的第一个参数是strings数组。是的,“这个方法是异步的,这意味着在执行草图中的下一行之前它可能不会完成”。