JavaScript 标准内置对象 Array

  • 常用方法
    • Array.prototype.every()
    • Array.prototype.some()
    • Array.prototype.filter()
    • Array.prototype.find()
    • Array.prototype.findIndex()
    • Array.prototype.indexOf()
    • Array.prototype.includes()
    • Array.prototype.map()
  • 其他
    • 1. [JavaScript数组去重](https://blog.csdn.net/pro_fan/article/details/111873072)
    • 2. [JavaScript 数据拷贝](https://blog.csdn.net/pro_fan/article/details/105224881)

JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。


常用方法

Array.prototype.every()

点击查看MDN对该方法的解释

every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值

注意: 若收到一个空数组,此方法在一切情况下都会返回 true

语法: arr.every(callback[, thisArg])

  • 参数

    • callback: 用来测试每个元素的函数,它可以接收三个参数:

      • element: 用于测试的当前值。
      • index(可选): 用于测试的当前值的索引。
      • array(可选): 调用 every 的当前数组。
    • thisArg(可选): 执行 callback 时使用的 this 值。
  • 返回值

    • 如果回调函数的每一次返回都为 true值,该方法返回 true ,否则返回 false。

Array.prototype.some()

点击查看MDN对该方法的解释
some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。

注意:如果用一个空数组进行测试,在任何情况下它返回的都是false

语法: arr.some(callback(element[, index[, array]])[, thisArg])

  • 参数

    • callback: 用来测试每个元素的函数,接受三个参数:

      • element: 数组中正在处理的元素。
      • index 可选: 数组中正在处理的元素的索引值。
      • array可选: some()被调用的数组。
    • thisArg可选: 执行 callback 时使用的 this 值。
  • 返回值
    数组中有至少一个元素通过回调函数的测试就会返回true;所有元素都没有通过回调函数的测试返回值才会为false。


Array.prototype.filter()

点击查看MDN对该方法的解释

filter() 方法创建一个新数组, 其中包含通过指定函数功能测试的所有元素。
简而言之,filter() 方法对数组进行过滤操作,返回符合条件的新数组。

注意: filter() 不会对空数组进行检测,不会改变原数组,它返回过滤后的新数组

语法: var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])

  • 参数

    • callback: 用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接受以下三个参数:

      • element: 数组中当前正在处理的元素。
      • index(可选): 正在处理的元素在数组中的索引。
      • array(可选): 调用了 filter 的数组本身。
    • thisArg(可选): 执行 callback 时,用于 this 的值。
  • 返回值

    • 一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。

Array.prototype.find()

点击MDN对该方法的解释

find() 方法返回数组中满足测试函数的第一个元素的。否则返回 undefined。

语法: arr.find(callback[, thisArg])

参数

  • callback: 在数组每一项上执行的函数,接收 3 个参数:

    • element: 当前遍历到的元素。
    • index(可选): 当前遍历元素的索引。
    • array可选: 数组本身。
  • thisArg(可选): 执行回调时用作this 的对象。

返回值

  • 数组中第一个满足所提供测试函数的元素的值,否则返回 undefined。

Array.prototype.findIndex()

点击查看MDN对该方法的解释

findIndex()方法返回数组中满足测试函数的第一个元素的索引。否则返回-1。

语法: arr.findIndex(callback[, thisArg])

  • 参数

    • callback: 针对数组中的每个元素, 都会执行该回调函数, 执行时会自动传入下面三个参数:

      • element: 当前元素。
      • index: 当前元素的索引。
      • array: 调用findIndex的数组。
      • thisArg(可选): 执行callback时作为this对象的值.
  • 返回值

    • 数组中通过提供测试函数的第一个元素的索引。否则,返回-1。

如果需要找到一个元素的位置或者一个元素是否存在于数组中,使用Array.prototype.indexOf() 或 Array.prototype.includes()。

Array.prototype.indexOf()

点击查看MDN对该方法的解释

indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

语法:arr.indexOf(searchElement[, fromIndex])

  • 参数:

    • searchElement:要查找的元素。
    • fromIndex(可选):开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。
  • 返回值:
    • 首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1。

Array.prototype.includes()

includes() 方法用来判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回false。

语法:arr.includes(valueToFind[, fromIndex])

  • 参数

    • valueToFind: 需要查找的元素值。
    • fromIndex(可选): 从fromIndex 索引处开始查找 valueToFind。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜 (即使从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。默认为 0。
  • 返回值:
    • 返回一个布尔值,如果在数组中找到了(如果传入了 fromIndex ,表示在 fromIndex 指定的索引范围中找到了)则返回 true 。

使用 includes()比较字符串和字符时是区分大小写。


Array.prototype.map()

点击查看MDN对其的解释

  • map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
  • map() 方法按照原始数组元素顺序依次处理元素。
  • map() 不会对空数组进行检测。
  • map() 不会改变原始数组。
var new_array = arr.map(function callback(currentValue[, index[, array]]) {// Return element for new_array
}[, thisArg])
  • 参数

    • callback: 生成新数组元素的函数,使用三个参数:

      • currentValue: callback 数组中正在处理的当前元素。
      • index(可选): callback 数组中正在处理的当前元素的索引。
      • array(可选): map 方法调用的数组。
    • thisArg(可选): 执行 callback 函数时值被用作this。

其他

1. JavaScript数组去重

2. JavaScript 数据拷贝


—— END ——

JavaScript Array相关方法相关推荐

  1. [ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口

    [ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口 本文地址:https://blog.csdn.net/qq_28550263/article ...

  2. JavaScript Array --map()、filter()、reduce()、forEach()函数的使用

    题目: 1.得到 3000 到 3500 之内工资的人. 2.增加一个年龄的字段,并且计算其年龄. 3.打印出每个人的所在城市 4.计算所有人的工资的总和. 测试数据: function getDat ...

  3. JavaScript - Array对象的使用 及 数组排序 sort

    <html><head><head><body><script language="javascript">// Arr ...

  4. JavaScript -- array类型

    array我认为是JavaScript中最常用的类型,最近刚好在看JavaScript红宝书,所以来总结一下相关方法. 创建数组 有两种方法创建数组. 使用array构造函数 let array = ...

  5. javascript——Array类型

    今天这节教程不仅仅是阐述ECMAScript3的部分功能,同时也会阐述有关EXMASctip5的很多新的功能. 一.创建 因为它是一个引用类型,自然就需要在使用前先构造它. 我将分成两种方式来讲述 I ...

  6. JavaScript Array reverse 方法:颠倒数组中元素的顺序

    在JavaScript中,Array对象的reverse()方法将颠倒(反转)数组中元素的顺序.arr.reverse()在原数组上实现这一功能,即,reverse()会改变原数组. 例1:将数组元素 ...

  7. Javascript Array对象

    在javascript中所有的数组都是Array对象.我们可以通过Array类来创建,维护数组. 在javascript中有好几种创建数组的方法 var arr = new Array();   // ...

  8. javascript array添加图片_史上最全的web前端面试题汇总及答案JavaScript之二(二)...

    作者:樱桃小丸子儿 链接:https://www.jianshu.com/p/abadcc84e2a4 JavaScript JS的基本数据类型 number,string,boolean,objec ...

  9. 最全 JavaScript Array 方法 详解

    大家好,我是若川.最近组织了源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列> ...

最新文章

  1. Nature综述:微生物的社交网络 - 营养缺陷型如何塑造复杂群落
  2. php变量与数据类型,php中变量与数据类型讲解
  3. navicate 导出批量插入语句
  4. Can you answer these queries I SPOJ - GSS1 (线段树维护区间连续最大值/最大连续子段和)...
  5. 简单的动画函数封装(1)
  6. http --- 缓存
  7. 前端学习(1434):为什么学习vue
  8. python如何让进程运行在指定的cpu上_java程序可以实现在指定CPU上运行吗?
  9. Hadoop开发第6期---HDFS的shell操作
  10. rocketmq生产者发送到哪个队列
  11. linux命令执行绕过,命令执行绕过
  12. mysql迁移到mysqli_php – 从mysql连接迁移到mysqli
  13. html组合标题,如何组合标题关键词(影响标题的5个因素)
  14. pythonmsgbox怎么使用_弹出MsgBox后Python是否继续执行代码?
  15. python数据采集仪_数据采集卡支持python么深入理解Python生成器(Generator)
  16. 【视频】老外拍的阿里巴巴纪录片,讲述淘宝怎么打败eBay
  17. ip地址转换成16进制long
  18. 什么pdf转换成excel转换器好
  19. Arduino Nano 引脚分配图及定义详解
  20. Java后台开发面试实战(四):设计模式

热门文章

  1. Rocksdb 的优秀代码(二)-- 工业级 打点系统 实现分享
  2. [SDOI2009]HH的项链
  3. 微信服务号、公众号、企业号注册
  4. 执行eclipse,迅速failed to create the java virtual machine。
  5. PHP5.3.8连接Sql Server SQLSRV30
  6. JavaScript 关闭窗口事件
  7. 最长公共上升子序列 LCIS
  8. WPF关闭应用程序,释放Window窗口资源方法
  9. webstorm同时打开多个project方法
  10. ORB + OPENCV