JS的一些常用数组方法总结

81 阅读2分钟

数组的添加

  1. array.push()方法
  • 接收任意数量的参数,向数组末尾添加,直接修改原数组,返回数组的最新长度
const a = []
const b = a.push(1)

console.log(a)  // [1]
console.log(b)  // 1

  1. array.unshift()方法
  • 接收任意数量的参数,向数组开头添加,直接修改原数组,返回数组的最新长度
const a = [1]
const b = a.push(2)

console.log(a)  // [2,1]
console.log(b)  // 2
  1. array.concat()方法
  • 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。如果数组内部有引用地址指向引用地址,浅拷贝
const a = [1]
const b = [2]
const c = a.concat(b)
console.log(c)    // [1,2]

数组的删除

  1. array.pop()
  • 从原数组中删除最后一个元素,并返回该元素。此方法会直接更改原数组
let a = ['1','2']
let b =  a.pop()
console.log(a)  /// ['1']
console.log(a)  /// '2'
  1. array.shift()
  • 从数组中删除第一个元素,并返回该元素的值。此方法更改原数组
let a = ['1','2']
let b = a.shift()
console.log(a)    // ['2']
console.log(b)    // '1'

数组的修改

  1. array.slice()
  • 返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括 end)。原始数组不会被改变。
let a = [1,2,3,4,5]
let b = a.slice(0,3)
console.log(a)  // [1,2,3,4,5]
console.log(a)  // [1,2,3]

2.array.splice()

  • 通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。

let a = [1,2,3,4,5,6]
let b = a.splice(0,1,11)
console.log(a) // [11,2,3,4,5,6]
console.log(b) // [1]

数组的查找

1.array.indexOf()

  • 判断数组中是否存在某个值,如果存在,则返回数组元素的下标(第一个元素),否则返回-1;
let a = [1,2,3]
let b = a.indexOf(1)
console.log(b)  // 0
  1. array.includes(searcElement,fromIndex)
  • 判断数组中是否存在某个值,如果存在返回 true,否则返回 false
let a = [1,2,3,4,5]
let b = a.includes(1)  // true
  1. arr.find(callback,thisArg)
  • 返回数组中满足条件的第一个元素的值,如果没有,返回 undefined
let a = ["1", "2", "3", "4"]
let b = a.find(item =>{
    return item == "1"
})
console.log(b)  // '1'