<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ``` ## (一)slice方法 let arr = [1,2,3,4] let arr1= arr.slice()?//或者是?? let arr1= arr.slice(0) arr[0] = 6 console.log(arr)??// [6, 2, 3, 4] console.log(arr1)?``// [1, 2, 3, 4] ``` ## (二)自己封裝一個myClone函數 ~~~ Array.prototype.myClone = function(){ let newArr=[]; for(let i=0;i<this.length;i++) { newArr.push(this[i]); } return newArr; } let arr = ['aaa','bbb','ccc','wwwww','ddd'] let arr2 = arr.myClone() console.log(arr) //["aaa", "bbb", "ccc", "wwwww", "ddd"] console.log(arr2) //["aaa", "bbb", "ccc", "wwwww", "ddd"] console.log( arr2 === arr ) //false ~~~ ## (三)展開運算符 \[...arr\] ~~~ const arr1 = [1, 2]; const arr2 = [...a1]; arr1[0] = 6 console.log(arr1) // [6, 2] console.log(arr2) // [1, 2] ~~~ ## (四)concat方法 ~~~ var arr1 = [1,2,3] var arr2 = arr1.concat() //或者是 var arr2 = arr1.concat([]) arr1[0] = 6 console.log(arr1) //[6,1,2] console.log(arr2) //[1,2,3] ~~~ ## (五)Object.assign() ~~~ let arr = [1,2,3,4]; let arr1 = []; Object.assign(arr1,arr); arr[0] = 6; console.log(arr); // [6, 2, 3, 4] console.log(arr1); // [1, 2, 3, 4]    ~~~ (六) ~~~tsx const deepClone(obj)=>JSON.parse(JSON.stringify(obj)) ~~~ (七) ~~~tsx function type(obj){ var type=Object.prototype.toString.call(obj) var map={ '[object Boolean]' : 'boolean', '[object Number]' : 'number', '[object String]' : 'string', '[object Function]' : 'function', '[object Array]' : 'array', '[object Date]' : 'date', '[object RegExp]' : 'regExp', '[object Undefined]': 'undefined', '[object Null]' : 'null', '[object Object]' : 'object' } if(obj instanceof Element){ return 'element' } return map[type] } function deepClone(item){ if(!item)return item var types=['number','string','boolean'],result if(types.includes(type(item))){ result=item } if(result===undefined){ if(type(item)==='array'){ console.log('arr') result=[] item.forEach((child,index,array)=>{ result[index]=deepClone(child) }) }else if(type(item)==='object'){ if(item.nodeType&& typeof item.cloneNode=='function'){ retult=item.cloneNode(true) //真實的復制函數并沒有走到這里 }else if(!item.prototype){ // 檢查是否是可循環的 if(item instanceof Date){ result=new Date(item) }else{ result={} for(var i in item){ result[i]=deepClone(item[i]) } } }else{ console.log('發現了其他類型') } }else{ result=item } }else{ console.log('123',result) } return result } let arr=[1,2,3] var arr2=deepClone(arr) console.log(arr2,'arr2') arr.push(1) console.log(arr2,'arr2-after') ~~~
                  <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>

                              哎呀哎呀视频在线观看