常用数组API

1. concat()

  • 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组
  • 语法:
    var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
    
  • 参数:
    valueN可选
    数组和/或值,将被合并到一个新的数组中。如果省略了所有 valueN 参数,则 concat 会返回调用此方法的现存数组的一个浅拷贝。
  • 返回值:
    一个新数组的实例

2. every ()

  • 测试一个数组内的所有元素是否都能通过某个指定函数的测试.返回一个布尔值

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

  • 语法:
arr.every(callback(element[, index[, array]])[, thisArg])
  • 参数:
  • callback
    用来测试每个元素的函数,它可以接收三个参数:
    • element
      用于测试的当前值。
    • index可选
      用于测试的当前值的索引。
    • array可选
      调用 every 的当前数组。
  • thisArg
    执行 callback 时使用的 this 值。
  • 返回值:
    如果回调函数的每一次返回值都为truthy值,返回true , 否则返回false

3. filter()

  • 创建一个新数组,其包含通过所提供函数实现的测试的所有元素
  • 语法:
var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])
  • 参数:
  • callback
    用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素, false 则不保留。它接受以下三个参数:
    • element
      数组中当前正在处理的元素。
    • index可选
      正在处理的元素在数组中的索引。
    • array可选
      调用了 filter 的数组本身。
  • thisArg可选
    执行 callback 时,用于 this 的值。
  • 返回值:
    一个新的 通过测试的元素组成的数组,如果没有任何数组元素通过车速, 则返回空数组

4. find()

  • 返回数组中满足提供的测试函数的第一个元素的值. 否则返回undefined
  • 语法:
arr.find(callback[, thisArg])
  • 参数:
  • callback
    在数组每一项上执行的函数,接收 3 个参数:
    • element
      当前遍历到的元素。
    • index可选
      当前遍历到的索引。
    • array可选
      数组本身。
  • thisArg可选
    执行回调时用作this 的对象。
  • 返回值:
    数组中第一个满足所提供测试函数的元素的值, 否则返回undefined

5. findIndex()

  • 返回数组中满足提供的测试函数的第一个元素的索引. 若没有找到对应的元素则返回 -1
  • 语法
- arr.findIndex(callback[, thisArg])
  • 参数:
  • callback
    针对数组中的每个元素, 都会执行该回调函数, 执行时会自动传入下面三个参数:
    • element
      当前元素。
    • index
      当前元素的索引。
    • array
      调用findIndex的数组。
  • thisArg
    可选。执行callback时作为this对象的值.
  • 返回值:
    数组中通过提供测试函数的第一个元素的索引.否则,返回 -1

6. forEach()

  • 对数组的每个元素执行一次给定的函数.
  • 语法:
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])
  • 参数:
  • callback
    为数组中每个元素执行的函数,该函数接收一至三个参数:
    • currentValue
      数组中正在处理的当前元素。
    • index 可选
      数组中正在处理的当前元素的索引。
    • array 可选
      forEach() 方法正在操作的数组。
  • thisArg 可选
    可选参数。当执行回调函数 callback 时,用作 this 的值。
  • 返回值:
    undefined

7. includes()

  • 用来判断一个数组是否包含一个指定的值,根据情况,如果包含着返回true,否则返回false
  • 语法:
arr.includes(valueToFind[, fromIndex])
  • 参数:

  • valueToFind
    需要查找的元素值。

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

  • fromIndex 可选
    从fromIndex 索引处开始查找 valueToFind。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜 (即使从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。默认为 0。

  • 返回值:
    返回一个布尔值 Boolean ,如果在数组中找到了(如果传入了 fromIndex ,表示在 fromIndex 指定的索引范围中找到了)则返回 true 。

8. indexOf()

  • 返回在数组中可以找到一个给定元素的第一个索引, 如果不存在,则返回 -1
  • 语法:
arr.indexOf(searchElement[, fromIndex])
  • 参数:
  • searchElement
    要查找的元素
  • fromIndex 可选
    开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于0,则整个数组都将会被查询。其默认值为0.
  • 返回值:
  • 首个被找到的元素在数组中的索引位置: 若没有找到则返回 -1

9.isArray()

  • 用于确定传递的值是否是一个数组
  • 语法:
Array.isArray(obj)
  • 参数:
  • obj
    需要检测的值
  • 返回值:
    如果值是Array , 则位true; 否则为false

10. join()

  • 将一个数组(或一个类数组对象) 的所有元素连接成一个字符串并返回这个字符串.如果数组只有一个项目,那么将返回该项目而不使用分隔符
  • 语法
arr.join([separator])
  • 参数:
  • separator 可选
    指定一个字符串来分隔数组的每个元素。如果需要,将分隔符转换为字符串。如果缺省该值,数组元素用逗号(,)分隔。如果separator是空字符串(""),则所有元素之间都没有任何字符。
  • 返回值:
    一个所有数组元素连接的字符串. 如果arr.length 为0, 则返回空字符串

11. 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。
  • 返回值:
    一个由原数组每个元素执行回调函数的结果组成的新数组

pop() /push() /shift() /unshift()

  • 从数组中删除(最后一个元素) / 添加(最后一个元素) / 删除(第一个元素) / 添加(第一个元素)
  • 语法:
arr.pop()/push()/shift()/unshift()
  • 返回值
    从数组中删除的元素,如果数组为空则返回 undefined

12. reduce()

  • 对数组中的每个元素执行一个由您提供的 redece函数(升序执行), 将其结果汇总为单个返回值.
  • redece 函数接收4个参数
  1. Accumulator (acc) (累计器)
  2. Current Value (cur) (当前值)
  3. Current Index (idx) (当前索引)
  4. Source Array (src) (源数组)
    您的 reducer 函数的返回值分配给累计器,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值。
  • 语法:
arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
  • 参数:
  • callback
    执行数组中每个值 (如果没有提供 initialValue则第一个值除外)的函数,包含四个参数:
    • accumulator
      累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue(见于下方)。

    • currentValue
      数组中正在处理的元素。

    • index 可选
      数组中正在处理的当前元素的索引。 如果提供了initialValue,则起始索引号为0,否则从索引1起始。

    • array可选
      调用reduce()的数组

  • initialValue可选
    作为第一次调用 callback函数时的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错。
  • 返回值:
    函数累计处理的结果

13. reverse()

  • 将数组中元素的位置颠倒,并返回该数组.数组的第一个元素会变成最后一个, 数组的最后一个元素变成第一个.该方法会改变原数组
  • 语法:
arr.reverse()
  • 返回值:
    颠倒后的数组

14. slice()

  • 返回一个新的数组对象,这一都西昂是一个由beginend 决定的原数组的 ** 浅拷贝** . 原始数组不会被改变.
  • 语法:
arr.slice([begin[,end]])
  • 参数:
  • begin 可选
    提取起始处的索引(从 0 开始),从该索引开始提取原数组元素。
    如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
    如果省略 begin,则 slice 从索引 0 开始。
    如果 begin 超出原数组的索引范围,则会返回空数组。
  • end 可选
    提取终止处的索引(从 0 开始),在该索引处结束提取原数组元素。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin,但不包含 end)。
    slice(1,4) 会提取原数组中从第二个元素开始一直到第四个元素的所有元素 (索引为 1, 2, 3的元素)。
    如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。
    如果 end 被省略,则 slice 会一直提取到原数组末尾。
    如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。
  • 返回值:
    一个含有被提取元素的新数组.

15. splice()

  • 通过删除或替换现有元素或者原地添加新的元素来改变数组,并以数组形式返回被修改的内容.此方法会改变原来的数组
  • 语法:
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
  • 参数:
  • start​
    指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数,这意味着-n是倒数第n个元素并且等价于array.length-n);如果负数的绝对值大于数组的长度,则表示开始位置为第0位。
  • deleteCount 可选
    整数,表示要移除的数组元素的个数。
    如果 deleteCount 大于 start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。
    如果 deleteCount 被省略了,或者它的值大于等于array.length - start(也就是说,如果它大于或者等于start之后的所有元素的数量),那么start之后数组的所有元素都会被删除。
    如果 deleteCount 是 0 或者负数,则不移除元素。这种情况下,至少应添加一个新元素。
  • item1, item2, … 可选
    要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。
  • 返回值:
  • 由被删除的元素组成的一个数组.如果只删除了一个元素,则返回包含一个元素的数组.如果没有删除元素,则返回空数组
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值