美文网首页
JS复制数组

JS复制数组

作者: Lia代码猪崽 | 来源:发表于2019-07-05 11:39 被阅读0次

    '='不能复制数组

    如果使用=来赋值,不是复制,而是相当于把新数组的指针与指向旧数组所指向的数据,如果新数组变了,旧数组也会一起改变:

    const arr1 = [1, 2, 3, 4]
    const arr2 = arr1
    console.log(arr2)  //  [1, 2, 3, 4]
    
    arr2.push(5)
    console.log(arr2)  // [1, 2, 3, 4, 5]
    console.log(arr1)  // [1, 2, 3, 4, 5]
    

    复制数组

    1.使用concat
    concat() 用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

    const arr1 = [1, 2, 3, 4]
    const arr2 = arr1.concat()
    console.log(arr2)  //  [1, 2, 3, 4]
    
    arr2.push(5)
    console.log(arr2)  // [1, 2, 3, 4]
    console.log(arr1)  // [1, 2, 3, 4, 5]
    

    2.使用ES6 中的扩展运算符...

    const arr1 = [1, 2, 3, 4]
    // 写法一
    const  arr2 = [...arr1]
    // 写法二
    const [...arr2] = arr1
    console.log(arr2)  //  [1, 2, 3, 4]
    
    arr2.push(5)
    console.log(arr2)  // [1, 2, 3, 4, 5]
    console.log(arr1)  // [1, 2, 3, 4]
    

    相关文章

      网友评论

          本文标题:JS复制数组

          本文链接:https://www.haomeiwen.com/subject/jzushctx.html