gpt4 book ai didi

javascript - Foreach 循环给出的长度比长度长?

转载 作者:行者123 更新时间:2023-12-01 02:06:48 26 4
gpt4 key购买 nike

我有时间。

                var files = document.getElementById("filePostInput").files;
LogData("files length " + files.length); // 1
var formData = new FormData();

for (var file in files)
{
formData.append("file",files[file].data,files[file].name);
LogData("file name" + files[file].name);
}

输出:

Thu, 26 Apr 2018 09:39:47 GMT: file nameitem

Thu, 26 Apr 2018 09:39:47 GMT: file nameundefined

Thu, 26 Apr 2018 09:39:47 GMT: file nameTest.txt

Thu, 26 Apr 2018 09:39:47 GMT: files length 1

当我调用 files.length 时,我得到 1。然而,我的 foreach 循环记录了 3 个文件名。第一个是我放入文件输入的文件名,接下来的两个我不知道它们是什么。

有人可以向我解释一下这里发生了什么吗?

谢谢!

最佳答案

使用for(文件中的var文件)而不是for(文件中的var文件)for .. in 循环迭代 files 的所有属性; for .. of 循环迭代集合中的项目。这样您也不需要 [] 符号:

for (var file of files)
{
formData.append("file", file.data , file.name);
LogData("file name" + file.name);
}

关于javascript - Foreach 循环给出的长度比长度长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50039993/

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