国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

JavaScript數(shù)組復(fù)制詳解

2024-05-06 16:34:55
字體:
供稿:網(wǎng)友

前面的話

  前面的博文中介紹了對象拷貝,本文將詳細(xì)介紹數(shù)組復(fù)制

push

function copyArray(arr){  var result = [];  for(var i = 0; i < arr.length; i++){    result.push(arr[i]);  }  return result;}var obj1=[1,2,3];var obj2=copyArray(obj1);console.log(obj1); //[1,2,3]console.log(obj2); //[1,2,3]obj2.push(4);console.log(obj1); //[1,2,3]console.log(obj2); //[1,2,3,4] 

join
  使用該方法的缺點(diǎn)是數(shù)組中的項(xiàng)全部變成了字符串形式

function copyArray(arr){  var result = [];  result = arr.join().split(',');  return result;}var obj1=[1,2,3];var obj2=copyArray(obj1);console.log(obj1); //[1,2,3]console.log(obj2); //['1','2','3']obj2.push(4);console.log(obj1); //[1,2,3]console.log(obj2); //['1','2','3',4] 

concat

function copyArray(arr){  var result = [];  result = arr.concat();  return result;}var obj1=[1,2,3];var obj2=copyArray(obj1);console.log(obj1); //[1,2,3]console.log(obj2); //[1,2,3]obj2.push(4);console.log(obj1); //[1,2,3]console.log(obj2); //[1,2,3,4] 

slice

function copyArray(arr){  var result = [];  result = arr.slice();  return result;}var obj1=[1,2,3];var obj2=copyArray(obj1);console.log(obj1); //[1,2,3]console.log(obj2); //[1,2,3]obj2.push(4);console.log(obj1); //[1,2,3]console.log(obj2); //[1,2,3,4] 

深拷貝

  以上方法實(shí)現(xiàn)的僅是數(shù)組的淺拷貝,如果要實(shí)現(xiàn)數(shù)組的深拷貝,需要使用遞歸方法

function copyArray(arr,result){  var result = result || [];  for(var i = 0; i < arr.length; i++){    if(arr[i] instanceof Array){      result[i] = [];      copyArray(arr[i],result[i]);    }else{      result[i] = arr[i];    }        }  return result;}var obj1=[1,2,[3,4]];var obj2=copyArray(obj1);console.log(obj1[2]); //[3,4]console.log(obj2[2]); //[3,4]obj2[2].push(5);console.log(obj1[2]); //[3,4]console.log(obj2[2]); //[3,4,5]


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍山县| 牙克石市| 寻甸| 公安县| 朝阳县| 秦安县| 景德镇市| 延安市| 璧山县| 类乌齐县| 通化市| 吉安市| 弥勒县| 洪江市| 辰溪县| 奎屯市| 道孚县| 合阳县| 万荣县| 琼海市| 驻马店市| 葵青区| 扬中市| 垫江县| 伽师县| 方山县| 东海县| 将乐县| 乌兰浩特市| 颍上县| 清流县| 页游| 伊金霍洛旗| 南安市| 特克斯县| 尉犁县| 通城县| 西安市| 扶绥县| 通城县| 安新县|