复制数组
使用slice()
可使用slice()进行复制,因为slice()返回也是数组。var array1 = new Array("1","2","3");
var array2;
array2 = array1.slice(0);
array1.length = 0;
alert(array2); //返回1、2、3
使用concat()
concat()返回的并不是调用函数的Array,而是一个新的Array,所以可以利用这一点进行复制。var array1 = new Array("1","2","3");
var array2;
array2 = array1.concat();
array1.length = 0;
alert(array2); //返回1、2、3
增删改数组
语法:
splice(index,len,[item])
index:数组开始下标
len: 替换/删除的长度
item:替换的值(删除操作的话 item为空)
它也可以用来替换/删除/添加数组内某一个或者几个值。该方法会改变原始数组。
示例:
如:arr = ['a','b','c','d']删除
arr.splice(1,1)
//['a','c','d'] 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变
arr.splice(1,2)
//['a','d'] 删除起始下标为1,长度为2的一个值,len设置的2
替换
arr.splice(1,1,'ttt')
//['a','ttt','c','d'] 替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1
arr.splice(1,2,'ttt')
//['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
添加
arr.splice(1,0,'ttt') len设置为0,item为添加的值
//['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'