js数组方法总结(持续更新)

126 阅读1分钟

数组的堆栈方法(以下方法均修改原有数组)

push()

将一个或多个元素添加到数组的末尾,并返回该数组的新长度。该方法修改原有数组。

var arr = [1,2,3]
arr.push(4)
arr.push(4,5,6)
arr.push(...arr)

pop()

删除数组最后一个元素,并返回该元素的值。(不需要参数)

var arr = [1,2,3]
var res = arr.pop()
//arr:[1,2]  res:3 

unshift()

将一个或多个元素添加到数组的开头,并返回该数组的新长度

var arr = [1,2,3]
arr.unshift(0)
arr.unshift(1,2,3)
arr.unshift(...arr)

shift()

删除数组第一个元素,并返回该元素的值。(不需要参数)

var arr = [1,2,3]
var res = arr.shift()
//arr:[2,3]  res:1 

数组删改

silce()

silce方法返回一个新的数组对象,接受两个参数begin和end,新的数组是原数组的浅拷贝,选择的范围是[begin,end),该方法不改变原数组。

var arr = [1,2,3,4,5,6,7]
var arr2 = arr.slice(2) //[3,4,5,6,7]
var arr3 = arr.slice(2,4)//[3,4]
var arr4 = arr.slice(2,10)//[3,4,5,6,7]
var arr5 = arr.slice(-1)//[7]
var arr6 = arr.slice(-3,-1)//[5,6]
var arr7 = arr.slice(4,2)//[]

由于是浅拷贝,所以若原数组的某个元素是某个引用对象,该引用对象改变的话,原数组和新数组都会发生改变

var temp = {
    cc:1
}
var arr = [temp,1,2,3]
var newArr = arr.slice(0,3)
console.log(arr[0].cc,newArr[0].cc)//1,1
temp.cc = 3
console.log(arr[0].cc,newArr[0].cc)//3,3