1.往数组中添加项
var colors = ['red','green','black']
console.log(colors) // ['red','green','black']
colors.push('white') // 往数组最后添加项
console.log(colors) // ['red','green','black','white']
colors.unshift('yellow') // 往数组前添加项
console.log(colors) // ['yellow','red','green','black','white']
复制代码
2.从数组中删除项
colors.pop() // 删除数组最后一项
console.log(colors) // ['yellow','red','green','black']
colors.shift() // 删除数组第一项
console.log(colors) // ['red','green','black']复制代码
3.数组转化为字符串join(),并不会改变原数组,而是返回一个字符串
console.log(colors.join('-')) // red-green-black
console.log(colors) // ['red','green','black']复制代码
4.数组的排序方法sort(),可以传参数也可以不传参数,如果不传参数的话,数组会按照字符编码的顺序进行排序(并不会按照数值大小来排序)。如果我们想实现按照数值大小来排序的话,必须传入参数,这里我们可以传入一个排序函数来解决这个问题
var arr = [1, 3, 5, 15, 10, 9]
arr.sort()
console.log(arr) // [1,10,15,3,5,9]
arr.sort(function(a,b){
return a-b
})
console.log(arr) // [1,3,5,9,10,15]复制代码
5.将数组内的所有项反转,末尾项成功第一项,reverse()
arr.reverse()
console.log(arr) // [15,10,9,5,3,1]
复制代码
6.查找元素在数组中的位置,indexOf(item,[start]),lastIndexOf(item,[start]),indexOf从数组前开始查找到第一个匹配的项的位置,lastIndexOf从数组后开始查找到第一个匹配的项的位置,这两种方法都不会改变原数组
var arr = [1,3,4,4,3,7,3,2,1]
arr.indexOf(1) // 0
arr.lastIndexOf(1) // 8
arr.indexOf(1,1) // 8
arr.lastIndexOf(1,2) // 0复制代码
7.数组操作方法concat()、slice()、splice()
concat()方法用于连接两个或多个数组,该方法不会改变原数组,而是返回一个被连接数组的副本
var arr = [1,2,3]
console.log(arr.concat(4,5)) // [1,2,3,4,5]
console.log(arr) // [1,2,3]
var arr1 = [5,6,'89']
console.log(arr.concat(arr1)) // [1,2,3,5,6,'89']复制代码
slice(start,end)方法,并不会改变原数组
start必须。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始计算起的位置。也就是说,-1指最后一个位置,-2指倒数第二个元素,以此类推。
end可选。规定从何处结束选取,该参数是数组片段结束处的数组下表。如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值:返回一个新的数组,包含从start 到end(不包括该元素)的arrayObject中的元素
var arr = [1,2,3,4,5]
console.log(arr.slice(2)) // [3,4,5]
console.log(arr.slice(2,4)) // [3,4]
cosnole.log(arr) // [1,2,3,4,5]复制代码
splice()有删除,插入,替换的功能
删除
需要两个参数,要删除的第一项的位置和要删除的项数
var arr = ['blue','red','black']
var removed = colors.splice(0,2)
console.log(arr) // ['black']
console.log(removed) // ['blue', 'red']复制代码
插入
需要三个参数:起始位置、0(要删除的项数)和要插入的项
var arr = ['red','green','black']
var removed = arr.splice(0,0,'yellow')
console.log(arr) // ['yellow','red','green','black']
console.log(removed) // []复制代码
替换
需要三个参数:起始位置、要删除的项数和要插入的任意数量的项
var arr = ['red','green','blue']
var removed = arr.splice(0,2,'black')
console.log(arr) // ['black','blue']
console.log(removed) // ['red','green']复制代码