Javascript数组方法总结

在JavaScript中,数组(Array)是一个内置对象,它提供了许多有用的方法用于操作数组元素。以下是一些常用的数组方法及其简要描述:

  1. push() 和 pop()
    • push(): 向数组的末尾添加一个或多个元素,并返回新的长度。
    • pop(): 删除并返回数组的最后一个元素。
  2. shift() 和 unshift()
    • shift(): 删除并返回数组的第一个元素。
    • unshift(): 向数组的开头添加一个或多个元素,并返回新的长度。
  3. splice()
    • 这是一个强大的方法,可以删除、替换或添加数组中的元素。它接受三个或更多参数:起始索引、要删除的元素数量和一个可选的要添加的元素列表。
  4. slice()
    • 返回一个新的数组对象,这个对象是一个由开始到结束(不包括结束)选择的、由原数组的浅拷贝构成。原始数组不会被改变。
  5. concat()
    • 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
  6. join()
    • 将数组(或一个类数组对象)的所有元素都转换为一个字符串并连接在一起。元素是通过指定的分隔符进行分隔的。
  7. reverse()
    • 颠倒数组中元素的顺序。
  8. sort()
    • 对数组的元素进行排序,并返回数组。排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。
  9. map()
    • 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
  10. filter()
    • 创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
  11. reduce()
    • 对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个输出值。
  12. reduceRight()
    • reduce()类似,但是它是从右到左应用函数的。
  13. find()
    • 返回数组中满足提供的测试函数的第一个元素的值。否则返回undefined。
  14. findIndex()
    • 返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
  15. every()
    • 测试数组的所有元素是否都通过了由提供的函数实现的测试。
  16. some()
    • 测试数组中是否至少有一个元素通过了由提供的函数实现的测试。
  17. includes()
    • 判断一个数组是否包含一个指定的值,根据情况,如果需要搜索整个数组,请使用indexOf()find()方法。
  18. indexOf()
    • 返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。
  19. lastIndexOf()
    • 返回在数组中的从后向前搜索可以找到给定元素的最后一个索引,如果不存在,则返回-1。
  20. fill()
    • 用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
  21. copyWithin()
    • 在当前数组内部,将指定范围的元素浅拷贝到另一个位置,并返回这个数组。原数组会被改变。
  22. flat() 和 flatMap()
    • flat(): 按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
    • flatMap(): 先对数组的每个元素执行一个函数(map方法),然后将结果压缩成一个新数组(flat方法)。
  23. from()
    • 创建一个新数组实例,从一个类数组对象或可迭代对象。
  24. of()
    • 创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

请注意,这些方法中的大多数都不会改变原始数组,除非明确说明(如push(), pop(), shift(), unshift(), splice(), reverse(), fill(), copyWithin())。这些修改原始数组的方法会返回新的长度(对于添加/删除方法)或原始数组(对于修改元素的方法)。

相关推荐
江城开朗的豌豆20 分钟前
Vue-router方法大全:让页面跳转随心所欲!
前端·javascript·vue.js
江城开朗的豌豆32 分钟前
Vue路由动态生成秘籍:让你的链接'活'起来!
前端·javascript·vue.js
晓得迷路了33 分钟前
栗子前端技术周刊第 88 期 - Apache ECharts 6.0 beta、Deno 2.4、Astro 5.11...
前端·javascript·echarts
江城开朗的豌豆38 分钟前
在写vue公用组件的时候,怎么提高可配置性
前端·javascript·vue.js
江城开朗的豌豆39 分钟前
Vue路由跳转的N种姿势,总有一种适合你!
前端·javascript·vue.js
江城开朗的豌豆39 分钟前
Vue路由玩法大揭秘:三种路由模式你Pick谁?
前端·javascript·vue.js
江城开朗的豌豆40 分钟前
Vue路由守卫全攻略:给页面访问装上'安检门'
前端·javascript·vue.js
前端 贾公子1 小时前
monorepo + Turborepo --- 开发应用程序
java·前端·javascript
江城开朗的豌豆1 小时前
Vue路由传参避坑指南:params和query的那些猫腻
前端·javascript·vue.js
十里青山1 小时前
超好用的vue图片预览插件更新啦,hevue-img-preview 7.0.0版本正式发布,支持vue2/vue3/移动/pc,增加缩略图、下载、自定义样式等
前端·javascript·vue.js