js中对数组的操作方法有很多,下面是我总结的一些向数组添加元素的一些方法。
- push()方法
举例:arr.push(date1,date2,…,daten);
参数:date1,date2,…daten (任意个,任意值)
功能:在目标数组的尾部增加数据,增加的数据是push的参数
返回值:数组被增加之后的长度
是否会改变原函数:会
var arr = [1,2,3,4,5,6]; //目标数组
console.log(arr);//原数组:Array(6)[1,2,3,4,5,6]
var res = arr.push(33,22,17); //push()中为要添加的数据
console.log(res); //push()方法的返回值:数组被增加之后的长度:原来为6,添加3个数据,所以结果为9
console.log(arr);//从目标数组的尾部开始添加数据,所以结果是:Array(9)[1,2,3,4,5,6,33,22,17]
- unshift()方法
举例:arr.unshift(date1,date2,…,daten);
参数:date1,date2,…daten (任意个,任意值)
功能:在目标数组的头部增加数据,增加的数据是unshift的参数
返回值:数组被增加之后的长度
是否会改变原函数:会
var arr = [1,2,3,4,5,6]; //目标数组
console.log(arr);//原数组:Array(6)[1,2,3,4,5,6]
var res = arr.unshift(33,22,17); //unshift()中为要添加的数据
console.log(res); //unshift()方法的返回值:数组被添加数据之后的长度:原来为6,添加3个数据,所以结果为9
console.log(arr);//从目标数组的头部开始添加数据,所以结果是:Array(9)[33,22,17,1,2,3,45,56,6]
- concat()方法
举例:arr.concat(date1,date2,…,daten);
参数:date1,date2,…daten (任意个,任意值)
功能:在目标数组的尾部增加数据,增加的数据是concat的参数
返回值:添加新数据之后的新数组
是否会改变原函数:不会
var arr = [1,2,3,4,5,6]; //目标数组
console.log(arr);//原数组:Array(6)[1,2,3,4,5,6]
var res = arr.concat(33,22,17); //concat()中为要添加的数据
console.log(res); //concat()方法的返回值:添加数据之后的数组:Array(9)[1,2,3,4,5,6,33,22,17]
console.log(arr);//因为不会改变原函数:所以结果不变,为:Array(6)[1,2,3,4,5,6]
- splice()方法
举例:arr.splice(index,num,date1,…,daten) ;
参数:index为索引,num为个数,date1~daten为要添加的数据
功能:在目标数组的index对应的位置删除num个数的数据,从当前位置添加date1~daten;
返回值:被删除的数据所组成的新数组
是否会改变原函数:会
//当index为0时
var arr = [1,2,3,4,5,6]; //目标数组
console.log(arr);//原数组:Array(6)[1,2,3,4,5,6]
var res = arr.splice(0,0,33,22,17);
console.log(res); //splice()方法的返回值:被删除的数据所组成的新数组:因为第二个参数为0,没有删除,所以结果是Array(0)
console.log(arr);//因为第一个参数为0,所以从最开始添加数据,结果为Array(9)[33,22,17,1,2,3,4,5,6]
当index比数组长度小的时候
var arr = [1,2,3,4,5,6]; //目标数组
console.log(arr);//原数组:Array(6)[1,2,3,4,5,6]
var res1 = arr.splice(5,0,33,22,17);
console.log(res1);//splice()方法的返回值:被删除的数据所组成的新数组:因为第二个参数为0,没有删除,所以结果是Array(0)
console.log(arr);//因为第一个参数为5,所以从索引值为5所对应的位置之前添加数据,结果为Array(9)[1,2,3,4,5,33,22,17,6]
当index比数组长度大的时候
var arr = [1,2,3,4,5,6]; //目标数组
console.log(arr);//原数组:Array(6)[1,2,3,4,5,6]
var res1 = arr.splice(7,0,33,22,17);
console.log(res1);//splice()方法的返回值:被删除的数据所组成的新数组:因为第二个参数为0,没有删除,所以结果是Array(0)
console.log(arr);//因为第一个参数为7比数组长度大,所以直接从数组的最后一位之后添加数据,结果为Array(9)[1,2,3,4,5,6,33,22,17]
以上就是我总结的一些方法。请多多指点。