js数组拷贝

1、for循环实现拷贝。

    var arr = [1, 2, 3, 4, 5]
    var arr2 = copyArr(arr)

    function copyArr(arr) {
      let res = []
      for (let i = 0; i < arr.length; i++) {
        res.push(arr[i])
      }
      return res
    }

2、slice 方法实现数组拷贝

    var arr = [1, 2, 3, 4, 5]
    var arr2 = arr.slice(0)
    arr[2] = 5
    console.log(arr)
    console.log(arr2)

3、concat 方法实现数组的拷贝

    var arr = [1, 2, 3, 4, 5]
    var arr2 = arr.concat()
    arr[2] = 5
    console.log(arr)
    console.log(arr2)

4、ES6扩展运算符实现数组的深拷贝


    var arr = [1, 2, 3, 4, 5]
    var [...arr2] = arr
    arr[2] = 5
    console.log(arr)
    console.log(arr2)

猜你喜欢

转载自blog.csdn.net/lbpro0412/article/details/81258940
今日推荐