如何在javascript中读取对象文件列表数组
How can i read an object filelist array in javascript?
我创建了一个数组来存储所选文件的列表。好吧,老实说,我查了一下代码,当我意识到它对我的目的有效时,我使用了它。现在我需要访问这个数组才能手动删除一些文件,但我尝试过使用每个扇区的索引,但这不起作用。
这就是我创建数组和存储文件的方式。
var files = [];
$("button:first").on("click", function(e) {
$("<input>").prop({
"type": "file",
"multiple": true
}).on("change", function(e) {
files.push(this.files);
}).trigger("click");
});
如果数组文件[]包含对象fileList或从数组中获取索引,我如何读取它?
以下是我如何理解您的代码:
每次单击dom中的第一个按钮时,都会生成一个接受多个文件的文件输入对话框。返回后,对话会发出一个change
事件,其中files
变量(FileList对象)附加到函数上下文(this
)。您的代码将新创建的FileList推送到files
数组中。由于输入接受多个文件,所以推送到files
数组上的每个对象都是FileList对象。
因此,如果您想遍历文件数组中的所有元素,可以在change
事件处理程序中放入一个函数:
var files = [];
$("button:first").on("click", function(e) {
$("<input>").prop({
"type": "file",
"multiple": true
}).on("change", function(e) {
files.push(this.files);
iterateFiles(files);
}).trigger("click");
});
function iterateFiles(filesArray)
{
for(var i=0; i<filesArray.length; i++){
for(var j=0; j<filesArray[i].length; j++){
console.log(filesArray[i][j].name);
// alternatively: console.log(filesArray[i].item(j).name);
}
}
}
在我编写的iterateFiles()
函数中,filesArray[i][j]
并不是一个真正的多维数组,而是一个包含FileList对象的一维数组,这些对象的行为非常像数组。。。除了不能从中删除/拼接项目之外——它们是只读的。
有关为什么不能删除的更多信息,请参阅:如何从FileList 中删除文件
由于您使用的是jQuery,因此可以使用$.grep
files=$.grep( files, function(elementOfArray, indexInArray){
/* evaluate by index*/
return indexInArray != someValue;
/* OR evaluate by element*/
return elementOfArray != someOtherValue;
});
API参考:http://api.jquery.com/jQuery.grep/
类似的东西?
for(var i = 0; i < files.length; i++) {
alert(files[i][0].name);
if (files[i][0].name == 'file.jpg') {
files.splice(i, 1) //remove the item
}
}
也就是说,由于您选择文件的方式,每个文件列表中总是有一个文件。因此,对于每个文件列表,您只对其中的第一个文件感兴趣。对于每个文件,您只需获得此处定义的属性:http://help.dottoro.com/ljbnqsqf.php
- 要求定义另一个文件中的对象
- 仅使用文件对象选择单个文件
- S3文件上传文件对象使用节点js
- 如何从txt文件中获取要在javascript数组中使用的对象
- 尝试使用Node.js动态路由从IMDB中抓取电影内容.但是在我的output.json文件中没有定义
- 在 Node.JS 中,如何从单独的.js文件中返回整个对象
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- 使用 CasperJS 抓取 PDF 文件
- 使用 web-harvest 抓取 HTML 文件中的 javascript 变量
- 如何获取使用其完整路径填充的某些文件的文件[0]或[对象文件]
- 仅通过 GET 请求拉取对象的某些部分
- 向WCF Rest Service发送JSON-对象文件为null
- 从文件夹中抓取图像文件,然后显示在网页中
- Tooltipster插件,用于处理SVG对象文件中的元素
- 从拖放事件中抓取本地文件并显示它们
- 让PHP根据用户选择上传的文件数量抓取所有文件
- 取对象中的对象的值
- 没有使用JQuery和Javascript从文件输入HTML控件中获取[对象文件]
- 如何在javascript中读取对象文件列表数组
- 反应.js动态抓取对象,导致未定义