【前端-Js基础方法】数组常用方法汇总

在Js数组处理的方法中按照对原数组的处理,大题可以分为两种情况,即:改变原数组的方法和不改变原数组的方法,具体方法及说明如下:

const { addAbortSignal } = require("stream")

let arr = [
  { name: zs, age: 19 },
  { name: ls, age: 9 },
  { name: ww, age: 29 },
]

// ========== 不影响原数组的方法 ==========
// 数组简单遍历,item为数组的每一项,即arr[0],arr[1]...,index为对应序号
arr.forEach((item, index) => {
  console.log(item, index)
})

// 过滤筛选出符合条件的项,组成新数组
arr.filter((item) => item.age > 10)

// 遍历数组每一项进行操作后存储为一个新的数组,常用来提取数组对象键或值
arr.map((item) => item.name)

// 返回满足条件的第一个项,没有则返回undefined
arr.find((item) => item.name === zs)

// 返回满足条件的第一个项,没有则返回-1
arr.findIndex((item) => item.name === ls)

// 包含满足条件的项返回true,否则返回false
arr.some((item) => {
  // console.log(item)
  return item.age > 10
})

// 遍历到第一个不满足条件的项则返回false; 都满足则返回true
arr.every((item) => {
  // console.log(item)
  return item.age > 10
})

// sum为上次回调函数的返回值,item为遍历的每一项,0为sum初始值,常用于累加
arr.reduce((sum, item) => {
  return sum + item.age
}, 0)

// 从右到左的遍历reduce
arr.reduceRight((sum, item) => {
  return sum + item.age
}, 0)

let arr2 = [1, 2, 3]

let arr3 = [4, 5, 6]

// 截取数组,参数分别为起始位序号(包含)和终止序号(不包含)
console.log(arr2.slice(0, 1))

// 拼接数组
console.log(arr2.concat(arr3))

let arr4 = [1, [2, 3, [4, 5, 6]]]

// 扁平化数组
console.log(arr4.flat(Infinity))

// 是否包含某项
let arr5 = [1, 2, 3, 2, 3]

console.log(arr5.includes(4)) // false
console.log(arr5.indexOf(3)) // 2
console.log(arr5.lastIndexOf(3)) // 4,从最后一项检索

// 将数组每一项用分隔符拼接成字符串 然后返回
console.log(arr5.join(-))

// --------------------------------------------------------------

// ========== 影响原数组的方法 ==========
// 直接将原数组翻转
arr2.reverse()

// 在原数组最后追加内容,返回得到数组的长度
arr2.push(3, 12)

// 删除原数组最后一项, 返回被删除的项
arr2.pop()

// 在原数组最前添加项, 返回数组的长度
arr2.unshift(3, 7)

// 删除原数组第0项, 返回被删除的项
arr2.shift()

// 对原数组进行排序,内容为字符串形式,注意是按照首字符的顺序,所以11、123、13会排在在2,3,4
arr2.sort()
//-如果需要反向排序只需
arr2.sort().reverse()

// 对原数组进行排序,内容为数字格式,会按照数字大小排序,其中a-b是正序,b-a为逆序
arr2.sort((a,b)=>b-a)

// 删除数组中指定位置的项(也可以新增,第三个及之后的参数为新增的项), 返回被删除项组成的数组
//-arr.splice(删除的序号, 删除几个, 新增1, 新增2 ,...),注意新增项的位置对应的是第一个参数
arr2.splice(1, 1)
经验分享 程序员 微信小程序 职场和发展