我有两个包含同一表单中多个文件的Filelist对象,我想合并它。
var data1 = $('#one')[0].files;
var data2 = $('#two')[0].files;
console.log(data1);
console.log(data2);
var obj = $.merge(data1,data2);
console.log(obj);
我尝试$.merge
和$.extend
,结果obj似乎有所有文件,但它的长度不正确:
FileList {2: File, 3: File, 0: File, 1: File, length: 2}
jsFiddle:https://jsfiddle.net/nxtdnhgu/
答案 0 :(得分:0)
来自jquery文档。
$ .merge()函数具有破坏性。它改变第一个对象的长度和数字索引属性,以包含第二个对象的项目。
如果您需要原始的第一个数组,请在调用$ .merge()之前复制它。
var obj = $.merge( $.merge( [], data1 ), data2 );
工作js小提琴:https://jsfiddle.net/t1n08ykd/