<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                object和array類型的變量為引用類型,也就是說其存儲的實際上并不是具體的值而是一個指向堆內存的地址 因此當我們把一個引用類型如‘數組’,賦值給另一個變量時,實際上是把另一個變量指向了與之相同的地址,當我們改變其中一個時,實際上改變了堆內存中的存儲內容 ,相應的所有指向該地址的數組都發生了變化: 推薦jquery的深拷貝 ``` var a = [ { "specs1":"藍色,紅色,紫色,黃色", "specs2":"大,中,小", }, { "specs1":"粉色,紅色,紫色,黃色", "specs2":"大,中,小", }, ]; b=[]; $.extend(true, b, a); b[0]['specs1']="哈哈"; console.log(a);//[{"specs1":"藍色,紅色,紫色,黃色", "specs2":"大,中,小",},{"specs1":"粉色,紅色,紫色,黃色", "specs2":"大,中,小",}] console.log(b);//[{"specs1":"哈哈", "specs2":"大,中,小",},{"specs1":"粉色,紅色,紫色,黃色", "specs2":"大,中,小",}] ``` 例如: ``` let arr = [1, 2, 3, 4, 5] let arrCopy = arr // [1, 2, 3, 4, 5] let arr = [1, 2, 3, 4, 5] let arrCopy = arr // [1, 2, 3, 4, 5] arrCopy.push(6) console.log('arrCopy', arrCopy) // arrCopy [1, 2, 3, 4, 5, 6] console.log('arr', arr) // arr [1, 2, 3, 4, 5, 6] ``` >[danger]注意深層級還是不能去掉引用 ``` var a = [ { "specs1":"藍色,紅色,紫色,黃色", "specs2":"大,中,小", } ]; var b=a.concat(); b[0]['specs1']="哈哈"; console.log(a);//[{"specs1":"哈哈", "specs2":"大,中,小",}] ``` 有時我們并不想要類似的事情發生要如任何解決呢?下面介紹兩種簡單的方法 1、利用concat()方法 ``` let arr = [1, 2, 3, 4, 5] let arrCopy = arr.concat() arrCopy.push(6) console.log('arrCopy', arrCopy) // arrCopy [1, 2, 3, 4, 5, 6] console.log('arr', arr) // arr [1, 2, 3, 4, 5] ``` 2、利用slice()方法 ``` let arr = [1, 2, 3, 4, 5] let arrCopy = numbers.slice(0, numbers.length) // 下方兩種方式也一樣可以實現效果 // let arrCopy = numbers.slice(0) // let arrCopy = numbers.slice() arrCopy.push(6) console.log('arrCopy', arrCopy) // arrCopy [1, 2, 3, 4, 5, 6] console.log('arr', arr) // arr [1, 2, 3, 4, 5] ``` 3、new Array()方式來實現 ``` let arr = [1, 2, 3, 4, 5] let arrCopy = new Array(...arr) arrCopy.push(6) console.log('arrCopy', arrCopy) // arrCopy [1, 2, 3, 4, 5, 6] console.log('arr', arr) // arr [1, 2, 3, 4, 5] ``` 4、map方式實現 ``` let arr = [1, 2, 3, 4, 5] let arrCopy = arr.map(item => item) arrCopy.push(6) console.log('arrCopy', arrCopy) // arrCopy [1, 2, 3, 4, 5, 6] console.log('arr', arr) // arr [1, 2, 3, 4, 5] ``` 5、for循環與forEach ``` let arr = [1, 2, 3, 4, 5] let arrCopy = [] for (let i = 0; i < arr.length; i++) { arrCopy.push(numbers[i]) } arrCopy.push(6) console.log('arrCopy', arrCopy) // arrCopy [1, 2, 3, 4, 5, 6] console.log('arr', arr) // arr [1, 2, 3, 4, 5] ``` ``` let arr = [1, 2, 3, 4, 5] let arrCopy = [] arr.forEach((item) => arrCopy.push(item)) arrCopy.push(6) console.log('arrCopy', arrCopy) // arrCopy [1, 2, 3, 4, 5, 6] console.log('arr', arr) // arr [1, 2, 3, 4, 5] ``` [原文](https://blog.csdn.net/SupperPigger/article/details/103166076?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-103166076-blog-81810349.t5_download_comparev1&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-103166076-blog-81810349.t5_download_comparev1&utm_relevant_index=1)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看