搜尋

首頁  >  問答  >  主體

javascript - jQuery 的 $.merge( , ) 和 js 的concat() 是一样的吧,区别在哪里呢?

如题:

jQuery 的 $.merge( , ) 和 js 的concat() 是一样的吧,区别在哪里呢?

PHP中文网PHP中文网2791 天前706

全部回覆(3)我來回復

  • 大家讲道理

    大家讲道理2017-04-11 12:16:54

    $.merge()concat() 都是用來合併兩個數組,但最大的差別在

    $.merge() 是把第二個數組,合併進去第一個,是破壞性的,第一個數組內容會被修改

    var arr1 = [1, 2]
    var arr2 = [3, 4]
    $.merge([1, 2], [3, 4])
    
    // arr1 = [1, 2, 3, 4]
    

    concat() 則是合併後返回新數組,不會修改參數中的數組

    var arr1 = [1, 2]
    var arr2 = [3, 4]
    var arr3 = arr1.concat(arr2)
    
    // arr1 = [1, 2]
    // arr2 = [3, 4]
    // arr3 = [1, 2, 3, 4]

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-11 12:16:54

    $.merge([array1], [array2] )用于合并两个数组,无法规定连接符,合并以后的东西依然是数组(或者对象)

    Array.prototype.join用于把数组中的多个元素合并,可以规定连接符,合并以后的东西是字符串。

    回覆
    0
  • 黄舟

    黄舟2017-04-11 12:16:54

    var arr = [1,2,3],str = 'abc';
    var concat = [].concat.call(arr,str);
    console.log(concat);
    console.log(arr);
    var merge = $.merge(arr, str);
    console.log(merge);
    console.log(arr);

    回覆
    0
  • 取消回覆