国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 凤庆县| 定西市| 巴塘县| 南昌市| 新巴尔虎右旗| 卢湾区| 乌拉特中旗| 阜阳市| 大埔区| 苍梧县| 盐山县| 平定县| 长岭县| 滨州市| 罗甸县| 新疆| 阜阳市| 龙游县| 巨鹿县| 九台市| 堆龙德庆县| 靖西县| 平乡县| 宝丰县| 边坝县| 连城县| 津市市| 建水县| 朝阳县| 阿克陶县| 当涂县| 襄樊市| 海阳市| 广饶县| 唐河县| 穆棱市| 西青区| 寿光市| 淮阳县| 犍为县| 马龙县|