push
function push(arr){
for(var i=1;i<arguments.length;i++){
arr[arr.length]=arguments[i];
}
return arr.length;
}
var arr=[];
var len=push(arr,1,2,3);
console.log(len,arr);
pop
function pop(arr){
var elem=arr[arr.length-1];
if(arr.length>0) arr.length--;
return elem;
}
unshift
一、 function unshift(arr){
var len=arguments.length-1;
for(var i=arr.length-1;i>=0;i--){
arr[i+len]=arr[i];
arr[i]=null;
}
for(var j=1;j<arguments.length;j++){
arr[j-1]=arguments[j];
}
return arr.length;
}
二、function unshift(arr){
var arr1=[];
for(var i=0;i<arr.length;i++){
arr1[i]=arr[i];
}
arr.length=0;
for(var j=1;j<arguments.length;j++){
arr[j-1]=arguments[j];
}
for(var k=0;k<arr1.length;k++){
arr[arr.length]=arr1[k];
}
return arr.length;
}
shift
function shift(arr){
var elem=arr[0];
for(var i=1;i<arr.length;i++){
arr[i-1]=arr[i];
}
if(arr.length>0) arr.length--;
return item;
}
join
function join(arr,separator){
if(separator===undefined) separator=",";
separator=String(separator);
var str="";
for(var i=0;i<arr.length;i++){
if(i!==arr.length-1) str+=arr[i]+separator;
else str+=arr[i];
}
return str;
}
concat
function concat(arr){
var arr1=[];
for(var i=0;i<arr.length;i++){
arr1[i]=arr[i];
}
if(arguments.length===1) return arr1;
for(var j=1;j<arguments.length;j++){
if(arguments[j]!==null && arguments[j].constructor===Array){
for(var k=0;k<arguments[j].length;k++){
arr1[arr1.length]=arguments[j][k];
}
}else{
arr1[arr1.length]=arguments[j];
}
}
return arr1;
}
slice
function slice(arr,start,end){
if(start===undefined) start=0;
if(end===undefined) end=arr.length;
start=Number(start);
end=Number(end);
if(!isNaN(end) && isNaN(start)) start=0;
if(isNaN(start)) return [];
if(start<0) start=arr.length+start;
if(end<0) end=arr.length+end;
var arr1=[];
for(var i=start;i<end;i++){
arr1[i-start]=arr[i];
}
return arr1;
}
reverse
function reverse(arr){
var len=parseInt(arr.length/2);
for(var i=0;i<len;i++){
var temp=arr[i];
arr[i]=arr[arr.length-i-1];
arr[arr.length-i-1]=temp;
}
return arr;
}