JavaScript Array相关方法

28 篇文章 0 订阅
14 篇文章 0 订阅


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 ——

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值