这是 HTML
<form enctype="multipart/form-data">
<input name="file" id="myfiles" multiple type="file" />
<button type="submit" class="ancSubmit">send</button>
</form>
这是JS
const fileInput = document.querySelector('#myfiles');
const files = [];
const pushFiles = function(){
files.push(...fileInput.files);
}
document.querySelector('#myfiles').onchange = pushFiles;
代码 console.log(files) 输出
(2) [File, File]
这段代码之后
var index = 1;
var i = 0;
for (const file of files) {
if (i == index) {
delete files[i];
}
i++;
}
console.log(files)
控制台产生以下内容
(2) [File, пусто]
也就是说,还剩下两个元素,但其中一个为空。需要重写数组,删除空白空间。怎么做?
delete 并没有完全从数组中删除元素,它只是清除值。要删除,必须重新创建数组而不删除已删除的元素。在这里您可以过滤或修剪和粘合。