Javascript中改变原数组的7个常用方法

1,744 阅读2分钟

image.png

push()/unshift()

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

let arr=[3,6,8,5,2,90] 
//数组尾部添加一元素 
arr.push(38) console.log(arr);//[3,6,8,5,2,90,38]

//数组头部添加一元素 
arr.unshift(38)//[38,3,6,8,5,2,90,38]


pop()/shift()

方法从数组中删除最后一个元素/第一个元素,并返回该元素的值。此方法更改数组的长度。

let arr=[3,6,8,5,2,90] 

数组尾部删减一元素 
arr.pop(38)//[38,3,6,8,5,2,90] 

//数组头部删减一元素 
arr.shift(38)//[3,6,8,5,2,90]

splice(index,delCount,addElement...)

方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。

//splice(index,delCount,addElement...)下标,删除的个数,添加的元素,


let arr=[3,6,8,5,2,90] 

arr.splice(2,3,10,9) console.log(arr);//[3, 6, 10, 9, 90]

reverse()

方法将数组中元素的位置颠倒,并返回该数组。该方法会改变原数组。

let str=[3,6,8,5,2,90] 


str.reverse() console.log(str);//[90, 2, 5, 8, 6, 3]

sort() 数组的排序参数是一个函数

用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的

image.png

image.png

一般情况的排序

数组对象.sort((x,y)=>x-y):从小到大

数组对象.sort((x,y)=>y-x):从大到小

let arr=[3,6,8,5,2,90] 
arr.sort((x,y)=>x-y) //从小到大 
console.log(arr); //[2, 3, 5, 6, 8, 90] 

arr.sort((x,y)=>y-x) //从大到小 
console.log(arr);//[90, 8, 6, 5, 3, 2]

数组中对象的排序

image.png

image.png