2015-06-02 52 views
1

我有兩個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

'VAR OBJ = $ .extend({},數據1,數據2);'< - 有什麼輸出呢? –

+0

@RazvanDumitru基本上與$ .merge相同: 'Object {0:File,1:File,length:1}' – terrywong

回答

0

從jQuery的文檔。

$ .merge()函數具有破壞性。它改變了第一個對象的長度和數字索引屬性,以包含來自第二個對象的項目。

如果您需要原始的第一個數組,請在調用$ .merge()之前製作其副本。

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

工作JS提琴:https://jsfiddle.net/t1n08ykd/