合并/组合文件列表

时间:2015-06-02 10:49:55

标签: javascript jquery html5 object filelist

我有两个包含同一表单中多个文件的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/

1 个答案:

答案 0 :(得分:0)

来自jquery文档。

$ .merge()函数具有破坏性。它改变第一个对象的长度和数字索引属性,以包含第二个对象的项目。

如果您需要原始的第一个数组,请在调用$ .merge()之前复制它。

var obj = $.merge( $.merge( [], data1 ), data2 );

工作js小提琴:https://jsfiddle.net/t1n08ykd/