push() 在数组尾部添加一个或多个新元素,并且返回数组的新长度
var arr = [1,2,3];
var arr1 = arr.push(4);
console.log(arr,arr1);//[1,2,3,4] 4
var arr2 = arr.push(5,6,7);
console.log(arr,arr2);//[1,2,3,4,5,6,7] 7
push()封装:
var arr=[1,2,3];
console.log(arr.push(5));
arr.push(5,6,7);
function push(arr){
for(var i=1;i<arguments.length;i++){
arr[arr.length]=arguments[i];
}
return arr.length;
}
var i=push(arr,5,6,7);
console.log(arr,i);
pop() 删除数组的尾部元素,并且返回这个被删除的元素
var arr = [1,2,3];
var arr2 = arr.pop();
console.log(arr,arr2);//[1,2] 3
pop()封装:
var arr=[1,2,3];
var item=arr.pop();
console.log(item,arr);
function pop(arr){
var item=arr[arr.length-1];
arr.length--;
return item;
}
pop(arr);
shift() 删除数组arr第一个元素并且返回该元素
var arr = [1,2,3];
var arr1 = arr.shift();
console.log(arr,arr1);//[2,3] 1
shift()封装:
var arr=[[1,2],2,3,4,5],num;
function shift(arr){
num=arr[0];
var arr1=[];
for(var i=1;i<arr.length;i++){
arr1[i-1]=arr[i];
}
return num;
}
console.log(shift(arr));
unshift() 将一个或者多个新元素添加在数组的最前面,返回数组的新长度
var arr = [1,2,3];
var arr1 = arr.unshift(4,5);
console.log(arr,arr1);//[4,5,1,2,3] 5
unshift()封装:
var arr=[1,2,3];
function unshift(arr){
var len=arguments.length-1;
for(var i=arr.length-1;i>=0;i--){
arr[i+len]=arr[i];
}
for(var j=1;j<arguments.length;j++){
arr[j-1]=arguments[j];
}
return arr.length;
}
unshift(arr,10,11,12);
console.log(arr);
concat() 没有参数时,是复制数组,有参数时,将arr数组连接参数,形成新数组,原数组不变,如果参数是数组时,将数组arr与数组合并形成新数组,长度相加
var arr = [1,2,3,4];
var arr1 = arr.concat(10,11,12);
var arr2 = arr.concat();
var arr3 = arr.concat([10,11,12]);
var arr4 = arr.concat([10,11,12],[13,14,15]);
console.log(arr1);//[1,2,3,4,10,11,12]
console.log(arr2);//[1,2,3,4] 相当于复制了arr
console.log(arr3);//[1,2,3,4,10,11,12]
console.log(arr4);//[1,2,3,4,10,11,12,13,14,15]
concat()封装:
var arr = [1,2,3];
function concat(arr){
var arr1 = [];
var index = 0;
for(var i=0; i<arr.length;i++,index++){
arr1[index] = arr[i];
}
for(var j =1;j<arguments.length;j++,index++){
if(arguments[j].constructor === Array){
for(var k=0;k<arguments[j].length;k++,index++){
arr1[index] = arguments[j][k];
}
index--;
}else{
arr1[index] = arguments[j];
}
}
return arr1;
}
console.log(concat(arr,[4,5],[6,7]));
join() 与arr.toString()相同,将数组转换为字符串,参数为设置的符号,使数组的每个元素用参数符号连接,形成新字符串,如果加的是空字符串,则元素直接紧密相连
var arr = [1,2,3];
console.log(arr.join());//1,2,3
console.log(arr.join(","));//1,2,3
console.log(arr.join(""));//123
join封装:
var arr = [1,2,3];
function join(arr,type){
var str = "";
for(var i=0;i<arr.length;i++){
str += arr[i] + type;
}
if(type) str=str.substr(0,str.length-1);
return str;
}
console.log(join(arr,""));