function push(arr){if(arguments.length===0)returnif(arguments.length===1)return arr.length
for(let i=1;i<arguments.length;i++){
arr[arr.length]=arguments[i]}return arr.length
}
pop
function pop(arr){
let item=arr[arr.length-1]
arr.length--return item
}
shift
function shift(arr){if(arguments.length===0)return
let item=arr[0]for(let i=1;i<arr.length;i++){
arr[i-1]=arr[i]}
arr.length--return item
}
unshift
function unshift(arr){if(arguments.length===0)returnfor(let i=arr.length-1;i>=0;i--){
arr[i+arguments.length-1]=arr[i]}for(let j=1;j<arguments.length;j++){
arr[j-1]=arguments[j]}return arr.length
}
splice
function splice(arr,start,count){if(start===undefined)return[]if(start<0)start=(start+arr.length>=0?start+arr.length:0)if(count===undefined)count=arr.length-start
let newArr=[]for(let i=start;i<arr.length;i++){if(i<start+count)newArr[newArr.length]=arr[i]else arr[i-count]=arr[i]}
arr.length-=count
for(let j=arr.length+arguments.length-1-3;j>=start;j--){if(i>start+arguments.length-3)arr[j]=arr[j-arguments.length+3]else arr[j]=arguments[3+j-start]}return newArr
}
slice
function slice(arr,start,end){if(start===undefined)start=0if(end===undefined)end=arr.length
if(start<0)start=(start+arr.length>=0?start+arr.length:0)if(end<0)end=(end+arr.length>=0?end+arr.length:0)if(end>arr.length)end=arr.length
let newArr=[]for(let i=start;i<end;i++){
newArr[newArr.length]=arr[i]}return newArr
}
join
function join(arr,seperator){if(seperator===undefined)seperator===','
let str=''for(let i=0;i<arr.length;i++){if(i===arr.length-1){
str=str+arr[i]}else{
str=str+arr[i]+String(seperator)}}return str
}
concat
function concat(arr){
let newArr=[]for(let i=0;i<arguments.length;i++){if(arguments[i]&&arguments[i].construction===Array){for(let j=0;j<arguments[i].length;j++){
newArr[newArr.length]=arguments[i][j]}}else{
newArr[newArr.length]=arguments[i]}}return newArr
}
indexOf
function indexOf(arr,e,start){if(start===undefined)start=0if(start<0)start=(start+arr.length>0?start+arr.length:0)for(let i=start;i<arr.length;i++){if(arr[i]===e)return i
}return-1}
lastIndexOf
function lastIndexOf(arr,e,start){if(start!==undefined&&start<0)start=(start+arr.length>0?start+arr.length:0)for(let i=(start===undefined?arr.length-1:start);i>=0;i--){if(arr[i]===e)return i
}return-1}
some
function some(arr,fn){for(let i=0;i<arr.length;i++){if(i in arr &&fn(arr[i],i,arr))return true
}return false
}
every
function every(arr,fn){for(let i=0;i<arr.length;i++){if(i in arr &&!fn(arr[i],i,arr))return false
}return true
}
forEach
function forEach(arr,fn){for(let i=0;i<arr.length;i++){if(i in arr)fn(arr[i],i,arr)}}
map
function map(arr,fn){
let newArr=[]for(let i=0;i<arr.length;i++){if(i in arr)newArr[newArr.length]=fn(arr[i],i,arr)}return newArr
}