js数组常用操作(个人笔记)

180 阅读1分钟

1.添加/删除元素:

  • push(...items) —— 向尾端添加元素,
  • pop() —— 从尾端提取一个元素,
  • shift() —— 从首端提取一个元素,
  • unshift(...items) —— 向首端添加元素,
  • splice(pos, deleteCount, ...items) —— 从 pos 开始删除 deleteCount 个元素,并插入 items
  • slice(start, end) —— 创建一个新数组,将从索引 start 到索引 end(但不包括 end)的元素复制进去。
  • concat(...items) —— 返回一个新数组:复制当前数组的所有元素,并向其中添加 items。如果 items 中的任意一项是一个数组,那么就取其元素

2.搜索元素:

  • indexOf/lastIndexOf(item, pos) —— 从索引 pos 开始搜索 item,搜索到则返回该项的索引,否则返回 -1
  • includes(value) —— 如果数组有 value,则返回 true,否则返回 false
  • find/filter(func) —— 通过 func 过滤元素,返回使 func 返回 true 的第一个值/所有值。
  • findIndexfind 类似,但返回索引而不是值。

3.遍历元素:

  • forEach(func) —— 对每个元素都调用 func,不返回任何内容。

4.转换数组:

  • map(func) —— 根据对每个元素调用 func 的结果创建一个新数组。
  • sort(func) —— 对数组进行原位(in-place)排序,然后返回它 会修改原数组。
  • reverse() —— 原位(in-place)反转数组,然后返回它。
  • split/join —— 将字符串转换为数组并返回。
  • reduce/reduceRight(func, initial) —— 通过对每个元素调用 func 计算数组上的单个值,并在调用之间传递中间结果。

5.遍历数组并且扁平化并且能去除空项 返回新数组

arr.flat(Infinity)

let arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]]; // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]