Array 常用方法总结(持续更新)

209 阅读4分钟

Array 常用方法总结

查询和拼接

concat

  • 作用

​ concat() 用于连接两个或多个数组(数组拼接)

  • 返回

​ 返回一个新的数组(合并后的)

  • 语法
let arr1 = [1], arr2 = [2], arr3 = [3]
let arr = arr1.concat(arr2,arr3) // 需要一个新的变量用于接收
console.log(arr) //[1, 2, 3]

slice

  • 作用

​ slice() 从已有的数组种返回选的的元素

  • 返回

​ 返回一个新的数组,包含start到end(不包含end)的array

​ - start,必须;从开始选取,如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,(-1) 指最后一个元素,-2 指倒数第二个元素,以此类推。

​ - end 可选; 从end处结束,不包含end

  • 语法
let arr = [1,2,3,4,5];
let res = arr.slice(1, 3); //需要一个新的变量用于接收
let res2 = arr.slice(1);
let res3 = arr.slice(-2);
console.log(res) //[2, 3]
console.log(res2) //[2, 3, 4, 5]
console.log(res3) // [4,5]

增删改

push

  • 作用

    push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。与unshift相反

  • 返回

    指定的值push后数组的新长度(原始数据改变)

  • 语法

    let arr = [1,2,3];
    let str = 4
    arr.push(str)
    console.log(arr) // [1,2,3,4]
    

unshift

  • 作用

    unshift() 向数组的开头添加一个或更多元素,并返回新的长度。与push想反

  • 返回

    返回改变后的数组长度(原始数组改变)

  • 语法

let arr = [1,2,3];
let str = 'abc'
let res = arr.unshift(str)
console.log(arr) // ['abc', 1, 2, 3]
console.log(res) // 4

pop

  • 作用

    pop() 删除数组最后一项元素,并将删除后的原数组返回回来

  • 返回

    将删除后的元素返回回来(原始数组改变)

  • 语法

    let arr = [1,2,3];
    let res = arr.pop(arr)
    console.log(arr) // [1, 2]
    console.log(res) // 3
    

shift

  • 作用

    shift() 删除数组第一项元素

  • 返回

    返回被删除的那一项元素(原始数组改变)

  • 语法

    let arr = [1,2,3];
    let res = arr.shift()
    console.log(arr) // [2, 3]
    console.log(res) // 1
    

splice

  • 作用

    splice() 方法向/从数组中添加/删除项目,然后。

  • 返回

    返回被删除的项目(原始数组改变)

  • 语法

    • 参数
      • *index 从索引index开始
      • *howmany 要删除的数量,0则不删除
      • item 向数组插入的新元素
    let arr = [1,2,3,4,5];
    let res = arr.splice(1,3,'hehe');
    console.log(res) //[2, 3, 4]
    console.log(arr) //[1, "hehe", 5]
    

转换为字符串

join

  • 作用

    把数组中的所有元素放入一个字符串,元素可以通过指定分隔符进行分隔

  • 返回

    • 参数
      • separator:指定需要使用的分隔符,如果不传默认逗号分隔

    返回一个字符串,字符串根据自己指定的分隔符分隔(原数组不变)

  • 语法

    let arr = [1,2,3,4,5]
    let res = arr.join('@@@')
    console.log(arr) //[1, 2, 3, 4, 5]
    console.log(res) //1@@@2@@@3@@@4@@@5
    

toString

  • 作用

    数组转换字符串

  • 返回

    先将数组里的元素转换为字符串,然后逗号拼接(原始值不变)

  • 语法

    let arr = [1,2,3]
    let arr2 = [{name:"zs",age:18},{name:'ls', age:19}]
    let res = arr.toString()
    let res2 = arr2.toString()
    console.log(arr) //[1, 2, 3]
    console.log(res) // 1,2,3
    console.log(res2) // [object Object],[object Object]
    

排序

reverse

  • 作用

    reverse() 颠倒(反转)数组中元素的顺序。(把原始数组倒过来排列)

  • 返回

    排列后的原始数组(原始数组改变)

  • 语法

let arr = [1,2,3,4,5]
let res = arr.reverse()
console.log(arr) //[5, 4, 3, 2, 1]
console.log(res) //[5, 4, 3, 2, 1]

sort

  • 作用

    对数组的元素按照字符编码进行排序

  • 返回

    • 参数
      • ​ sortby:规定的排序顺序,必须是函数
  • 特殊说明

    1. 如果想要按照标准排序,就要提供比较的函数

    2. 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。例如:1< 11 a-b

    3. 若 a 等于 b,则返回 0。

    4. 若 a 大于 b,则返回一个大于 0 的值。

  • 语法

    let arr = [1,2,3,4,5,11,22]
    let res = arr.sort()
    console.log(arr) //[1, 11, 2, 22, 3, 4, 5]
    console.log(res) //[1, 11, 2, 22, 3, 4, 5]
    -----------------------------------------
    let arr = [1,2,3,4,5,11,22]
    let res = arr.sort((a,b)=>a-b)
    console.log(arr) //[1, 2, 3, 4, 5, 11, 22]
    console.log(res) //[1, 2, 3, 4, 5, 11, 22]
    

验证包含某一项

includes

  • 作用

    检测数组中,是否包含指定的值

  • 返回

    先将数组里的元素转换为字符串 , 包含true/不包含false(不会改变原值)

    • 参数
      • valueToFind: 需要查找的元素值
  • 语法

let arr = [1,2,3]
let arr2 = [{name:"zs",age:18},{name:'ls', age:19}]
let res = arr.includes('2')
let res2 = arr.includes(2)
let res3 = arr.includes()
let res4 = arr2.includes({name:'zs'})
console.log(arr) //[1, 2, 3]
console.log(res) // false
console.log(res2) // true
console.log(res3) // true
console.log(res4) // undefined 因为在转换之前先将数组里的元素转换为字符串