前端必会的数组方法!!

86 阅读2分钟

1、添加

let arr = ['小米', '小明', '小麦']

//在数组的最前面添加元素,并返回新的数组长度
arr.shift('小红')  //4

//在数组的最后面添加元素,并返回新的数组长度
arr.pop('小小红')  //5

2、删除

let arr = ['小米', '小明', '小麦']

//删除在数组的最前面元素,并返回删除的那个值
arr.shift()  //小米

删除在数组的最后面元素,并返回删除的那个值
arr.pop()  //小麦

3、concat()合并数组

let arr1 = [1, 2, 3]
let arr2 = [a, b, c]
let arrs = arr.concat(arr1, arr2)  //[1,2,3,a,b,c]

4、join()将数组连接成字符串

let arr = [2020, 06, 11]
arr.join('')  //'20200611'

//通过一个分隔符进行分隔
arr.join('-')  //‘2020-06-11’

5、includes()判断数组中是否包含一个元素

let arr = [a1,B2,c3]

//会区分大小写,返回的是布尔值
arr.includes('A1')  //false
arr.includes('B2')  //true

6、indexOf()找数组元素首次出现的下标

let arr = [a,b,a,c]

arr.indexOf('a')  //1

//如果找不到就返回-1
arr.indexOf('e')  //-1

7、lastIndexOf()找数组元素最后出现的下标

let arr = [a,b,a,c]

arr.lastIndexOf('a')  //3

//如果找不到就返回-1
arr.lastIndexOf('e')  //-1

8、slice()截取数组

let arr = [a, b, c, d, e]

//slice(起始下标 包含,截止下标 不包含) 从0开始
let arr1 = arr.slice(1, 3)   //b, c

//如果起始下标>=截止下标,则返回空数组
let arr2 = arr.slice(3,1)   // []

//如果只有一个参数,默认为起始下标,会返回从起始下标到数组的末尾
let arr3 = arr.slice(2)  //c, d, e

9、splice()

let arr = [a, b, c, d, e]

//操作数组本身,有删除添加和替换的功能,下标从0开始
//语法:splice(下标, 删除的数量, 添加的元素) 
arr.splice(2, 1)  //c
arr.splice(2, 0)  //[a, b, c, d, e]
arr.splice(2, 0, 'a')  //[a, b, c, a, d, e]
arr.splice(2, 3, 'a')  //[a, b, a]

10、反转 reverse()

let arr = [a, b, c, d, e]

//将数组中元素的位置颠倒,并返回该数组,操作数组本身
arr.reverse()  //[e,d,c,b,a]

11、排序 sort()

let arr = [2, 5, 3, 1, 4]

//默认x最小,y最大,操作数组本身
arr.sort((x, y) => {
    return x-y  //从小到大[1,2,3,4,5]
})
arr.sort((x, y) => {
    return y-x  //从大到小[5,4,3,2,1]
})