<script>
function Array.prototype.clone(){
var tmp=new Array();
for(ob in this)tmp[ob]=this[ob];
return tmp;
}
var array_1 = new Array();
array_1[2] = '1';
array_1[3] = '2';var array_2 = array_1.clone();array_1[0] = 'One';
array_2[0] = 'Two';alert(array_1); //输出的是'Two'
alert(array_2); //输出的是'One'</script>
function Array.prototype.clone(){
var tmp=new Array();
for(ob in this)tmp[ob]=this[ob];
return tmp;
}
var array_1 = new Array();
array_1[2] = '1';
array_1[3] = '2';var array_2 = array_1.clone();array_1[0] = 'One';
array_2[0] = 'Two';alert(array_1); //输出的是'Two'
alert(array_2); //输出的是'One'</script>
array_1 = new Array();array_1[1] = new Array();
array_1[1]['member_1'] = 'value...';
array_1[1]['member_2'] = 'value...';array_1[2] = new Array();
array_1[2]['member_1'] = 'value...';
array_1[2]['member_2'] = 'value...';
// +-----------------------------------------------------+这种方式应该如何处理?
<script>var array_1 = new Array();
var array_2 = new Array();for(i=0;i<array_1.length;i++)
array_2[i]=array_1[i]array_1[0] = 'One';
alert(array_1[0]); //输出的是'One'array_2[0] = 'Two';
alert(array_2[0]); //输出的是'Two'</script>
因为array_1的数据量太庞大(>100K),所以我不能使用PHP重新打印array_2,也就是说只能用JavaScript将array_1的初始值赋予array_2。
var array_1 = new Array();
var array_2 = new Array();
如果这是一个多维数组,就用下面的办法来定义:
var array_1=new Array();
array_1[0]=new Array();
array_1[0][0]=new Array()
.
.
.
array_1[0][0][0]="value0"
赋值,就是分开逐个复制,一样好用。
var aa=new Array() //定义一个数组
aa[0]=123
aa[1]=new Array()
aa[1][0]=456
aa[1][1]=789
aa[2]="xxx"
alert(aa) //赋值完毕
var bb=new Array() //定义一个数组bb
var cc="a" //定义一个变量
bb=aa.concat(cc) //让数组bb追加一个元素,成为一个新的独立数组
bb.pop() //再删除数组bb的最后一个元素
aa[0]="aaa" //改变数组aa的值
alert(bb) //数组bb依然是数组aa的初始化状态
</script>
var array_1 = new Array(); //定义一个数组
array_1[0] = 123;
array_1[1] = new Array();
array_1[1][0] = 456;
array_1[1][1] = 789;
array_1[2] = "xxx";
alert(array_1) //赋值完毕//赋值数据
var array_2 = new Array(); //定义一个数组array_2
array_2 = array_1.concat(); //返回一个新数组//Test
array_1[0] = "aaa"; //改变数组aa的值
alert(array_2); //数组array_2依然是数组array_1的初始化状态</script>
我把测试段改成下面的方式,多维数组部分还是会随之更改。
//Test
array_1[1][0] = "aaa";
alert(array_2);
让我再想想