【JS数组】JS数组方法整理

ES6数组新增方法与ES5对比

方法

描述

改变原数组

返回值

参数说明

push()在数组尾部追加元素新的数组长度 
pop()删除(弹出)数组最后一个元素被删除的元素 
unshift()在数组头部添加元素新的数组长度 
shift()删除数组第一个元素被删除的元素 
reverse()数组倒序重新排序后的数组 
sort(fn)默认UniCode码排序。可传参指定排序规则。数组长度不超过10时,使用插入排序。长度超过10使用快速排序。重新排序后的数组接收一个方法为参数,该方法接收两个参数,分别代表每次排序比较时的两个数组项。
splice(index, num, item)删除从index位置开始的num个元素被删除的元素

index:删除操作开始位置。

num:删除的元素个数。

item:向数组添加新的元素

copyWithin

(target, start, end)

从数组的指定位置拷贝元素到数组的另一个指定位置中被修改后的数组

target:复制到指定目标索引位置。

start:要复制元素的起始位置

end:要复制元素的结束位置,如果为负值,表示倒数。

fill(value, start, end)将一个固定值替换数组的元素返回被替换后的原数组。

value:填充的值

start:开始填充位置。

end:停止填充位置 (默认为 array.length)

forEach(

function(currentValue, index, arr), 

thisValue)

调用数组的每个元素,并将元素传递给回调函数。undefined

同上。

arr.forEach((item, index, arr) => {

      arr[index] = item + 'rtrr'

    })

     
join(str)将数组用str连接并转换为字符串返回创建字符str:指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
concat(arr1,...)连接两个或多个数组。返回被连接数组的一个副本该参数可以是具体的值,也可以是数组对象。可以是任意多个。
slice(start, end)选取从start位置开始到end位置结束的元素被选取的子数组

start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

toString() 把数组转换为字符串返回值与没有参数的 join() 方法返回的字符串相同。即逗号连接的字符串 

toLocaleString()

把数组转换为本地字符串该数组的本地字符串表示。 
valueOf()返回 Array 对象的原始值该数组的原始值通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
entries()返回数组的可迭代对象返回一个数组的迭代对象。通过.next().value 获取迭代对象的值。
some(

function(currentValue,index,arr),

thisValue

)
检测数组中的元素是否满足指定条件(函数提供)。如果数组中有元素满足条件返回 true,否则返回 false。 

every(

function(currentValue,index,arr),

thisValue)

检测数组所有元素是否都符合指定条件。

如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

如果所有元素都满足条件,则返回 true。

如果所有元素都通过检测返回 true,否则返回 false。 
filter(

function(currentValue,index,arr),

 thisValue)

 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。

function:函数,数组中的每个元素都会执行这个函数。

thisValue:对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
如果省略了 thisValue ,"this" 的值为 "undefined"

find(

function(currentValue, index, arr),

thisValue)

返回通过测试(函数内判断)的数组的第一个元素的值返回通过测试(函数内判断)的数组的第一个元素的值同上

map(

function(currentValue,index,arr),

 thisValue)

返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。同上

findIndex(

function(currentValue, index, arr),

thisValue)

返回传入一个测试条件(函数)符合条件的数组第一个元素位置。返回符合测试条件的第一个数组元素索引,如果没有符合条件的则返回 -1。

同上。

当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。如果没有符合条件的元素返回 -1

Array.from(

object, 

mapFunction, 

thisValue)

通过拥有 length 属性的对象或可迭代的对象来返回一个数组。返回转换后的数组对象。

object:必需,要转换为数组的对象。

mapFunction:可选,数组中每个元素要调用的函数。

thisValue:可选,映射函数(mapFunction)中的 this 对象。

includes(

searchElement, 

fromIndex)

判断一个数组是否包含一个指定的值,如果是返回 true,否则false。如果包含查询元素返回 true,否则false。注意:不会进行隐式类型转换

searchElement:需要查找的元素值。

fromIndex:可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。

Array.isArray(obj)

判断一个对象是否为数组。如果对象是数组返回 true,否则返回 false。 

keys()

从数组创建一个包含数组键的可迭代对象。一个数组可迭代对象。 
values()从数组创建一个包含数组键的可迭代对象。一个数组可迭代对象。 

indexOf(item,start)

 

返回数组中某个指定的元素位置。

如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。

如果在数组中没找到指定元素则返回 -1。

item:从头到尾地检索数组,看它是否含有对应的元素。

item:开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。

lastIndexOf(item,start)返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找。如果要检索的元素没有出现,则该方法返回 -1。 

reduce(

function(total, 

currentValue, 

currentIndex, 

arr), 

initialValue)

接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。返回计算结果

function:必需。用于执行每个数组元素的函数。
函数参数:

        total:必需。初始值, 或者计算结束后的返回值。

       currentValue:必需。当前元素

 

 

reduceRight(

function(total, 

currentValue, 

currentIndex, 

arr),

 initialValue)

从右到左计算。其它同上。返回计算结果同上

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值