将数组a复制到变量b,修改b,a也跟着变;如果是变量的话,就不会变,请教一下,怎么让数组a的值不随着b的改变而变化。
var my_arr = new Array(1,2,3,3,4,5,6,6,7,8,9,10,11,11,10,11,12,13);
var p_v_copy = my_arr;
for(var l = 0; l < my_arr.length; l++){
//初始重复判断变量
var no_repeat = 1;

//查找积是否不重复
for(var m = 0; m < my_arr.length; m++){
if(l == m){
continue;
}
if(my_arr[l] == my_arr[m]){
no_repeat = 0;
break;
}
}

//积不重复时,删除复制数组里面的此值对
if(no_repeat){
p_v_copy[l] = '';
}
}
document.write(my_arr + '<br />');
document.write(p_v_copy);
var a = 3;
var b = a;
document.write(a + '<br />');
document.write(b + '<br />');
b = 4;
document.write(a + '<br />');
document.write(b + '<br />');

解决方案 »

  1.   

    http://liuzujun0608.blog.163.com/blog/static/266630172009101783754500/
      

  2.   


    其实解决办法就是 让这2个变量 不用引用‘同一个数组’
    var a = [1,2,3],b = [1,2,3]
    或者
    var a = [1,2,3],b = a.join("-").split("-");
    b[4] = 10;
    alert(a)
      

  3.   

    var Arr1=new Array("aaaaaaa","bbbbbbbb","ccccccccc")
    var Arr2=Arr1.slice(0);
       Arr2[0]="1111111111"
    alert(Arr1[0])