java语言 百分网手机站

JavaScript如何进行数组复制

时间:2020-10-22 16:04:27 java语言 我要投稿

JavaScript如何进行数组复制

  导语:JavaScript如何进行数组复制?下面是小编给大家提供的数组复制代码实现,大家可以参考阅读,更多详情请关注应届毕业生考试网。

  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

  ??使用该方法的.缺点是数组中的项全部变成了字符串形式

  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]

  深拷贝

  ??以上方法实现的仅是数组的浅拷贝,如果要实现数组的深拷贝,需要使用递归方法

  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]

【JavaScript如何进行数组复制】相关文章:

1.PHP新手如何学习数组

2.如何正确使用Java数组

3.Java如何打印数组

4.PHP一般数组与对象数组

5.如何进行网页设计

6.Dreamweaver如何进行网页设计

7.如何进行英语阅读呢

8.word文件如何进行分栏

9.如何用英语进行外贸报盘