js数组常用方法,包含ES6之后的方法(全)

本文详细介绍了JavaScript中常用的数组操作方法,包括push(),pop(),shift(),unshift(),sort(),reverse(),forEach(),map(),filter(),slice(),等等,以及ES6中新增的特性,如sort()的回调函数使用、map()的返回新数组等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

便于工作需要,现把js数组中常用的方法整理列出,包含ES6中最新提出的方法~

一、push()

push方法可以向数组的末尾添加一个或者多个元素,并返回新的数组长度。

语法:array.push(item1,item2,...itemx)

参数:
item 遍历的该元素
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

二、pop()

pop() 方法用于删除最后一个元素,并返回删除元素。
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

三、shift()

shift() 方法用于把数组的第一个元素从其中删除,并返回删除元素。
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

四、unshift()

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度

语法:array.unshift(item1,item2,...itemx)

参数:
item 遍历的该元素
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

五、sort()

sort()方法用于对数组的元素进行排序(常规数组、对象数组)。如不传参,默认排序顺序为按字母升序(按照字符串Unicode编码)。排序顺序可以是字母或数字,并按升序或降序。
参数:

  • 不传,按照字符串Unicode编码排序
  • 传callback函数,自定义排序方式

是否改变原数组:

不传参数:

在这里插入图片描述

在这里插入图片描述
按照字母unicode编码排序

传递参数:(callback)

升序:a-b
在这里插入图片描述

在这里插入图片描述

降序:b-a
在这里插入图片描述
在这里插入图片描述

对象数组排序

在这里插入图片描述

在这里插入图片描述
注意:比较的是对象的属性但排序的是对象。

六、reverse()

reverse() 方法用于颠倒数组中元素的顺序
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

七、forEach()

forEach() 方法用于遍历数组的每个元素。

语法:array.forEach(callback(currentValue[, index[, array]]))
参数:

  1. item 遍历的该元素
  2. index 该元素的下标
  3. arr 当前数组
    是否改变原数组:
    在这里插入图片描述
    在这里插入图片描述

八、map()

map()对数组中的每个元素进行遍历,将其转换为另一个值,最终返回一个新的数组,该数组包含了经过处理后的每个元素。

语法:array.map(callback(currentValue[, index[, array]]))

callback参数:

  1. currentValue 遍历的该元素
  2. index 该元素的下标
  3. array 当前数组
    是否改变原数组:
    注意:若在return时没返回值,则会返回undefined
    一般用于在对象数组中,对莫个对象单独过滤出来一些属性。
    在这里插入图片描述
    在这里插入图片描述

九、filter()

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。返回新数组。

语法:array.filter(callback(currentValue[, index[, array]]))

callback参数:

  1. currentValue 遍历的该元素
  2. index 该元素的下标
  3. array 当前数组
    是否改变原数组:
    一般用于过滤出满足项的数组
    在这里插入图片描述
    在这里插入图片描述

十、slice()

slice()从已有的数组中截取指定的元素,返回新数组

语法:array.slice(start,end)

参数:

  1. start 截取数组中的起使位置,包含起使位置元素。正数,从左到右,从0开始,指定的开始元素的下标。负数,则表示从原数组的倒数第几个元素开始提取。。例如:slice(-2) 表示提取原数组中 的倒数第二个元素到最后一个元素(包含最后一个元素)。
  2. end 截取数组中的结束位置,不包含结束位置元素。正负数同理上。
    是否改变原数组:
    例一:
    在这里插入图片描述
    在这里插入图片描述
    例二:
    在这里插入图片描述
    在这里插入图片描述

十一、concat()

concat() 方法用于连接两个或多个数组,返回新数组。

语法:array.concat(item,item1...)

是否改变原数组:
在这里插入图片描述
在这里插入图片描述

十二、join()

join() 方法用于把数组中的所有元素放入一个字符串。不改变原数组

该元素是通过指定的分隔符进行分隔的。
参数:分隔符
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

十三、splice()

splice() 方法用于添加或删除数组中的元素。返回值为删除的元素组成的数组,若未删除元素,则返回空数组。
是否改变原数组:

语法:array.splice(index,howmany,item,item1....)

参数:
index:必须,规定从何处添加/删除元素。该参数是开始插入和删除的数组元素的下标,必须是数字
howmany:可选,规定应该删除多少元素。必须是数字,如果未规定此参数,则删除从index开始到原数组结 尾的所有元素。
item…itemX 可选,要添加到数组的新元素
例子一、
在这里插入图片描述
在这里插入图片描述
例二、
在这里插入图片描述
在这里插入图片描述

十四、includes()

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

语法:array.includes(searchElement ,index)

参数:
searchElement :必须,查找的元素
index:可选,起使查找位置,下标值。
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

十五、indexOf()

indexOf() 方法可返回某个指定的元素在数组中首次出现的位置。如果没有找到则返回 -1,区分大小写。

语法:array.indexOf(searchElement ,index)

参数:
searchElement :必须,查找的元素
index:可选,起使查找位置,下标值。
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

十六、find()

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。没有符合条件的元素返回 undefined。

语法:array.find(callback(currentValue[, index[, array]]))

callback参数:
currentValue 遍历的该元素
index 该元素的下标
array 当前数组
是否改变原数组:
在这里插入图片描述
补充:findLast() 函数同理,只是数组从后往前找。

十七、some()

some() 方法用于检测数组中的元素是否满足指定条件(函数提供),有则返回true,木有返回false。

语法:array.some(callback(currentValue[, index[, array]]))

callback参数:
currentValue 遍历的该元素
index 该元素的下标
array 当前数组
是否改变原数组:
在这里插入图片描述

十八、every()

every() 方法用于检测数组所有元素是否都符合指定条件(函数提供),都符合则返回true,否则返回false。

语法:array.every(callback(currentValue[, index[, array]]))

callback参数:
currentValue 遍历的该元素
index 该元素的下标
array 当前数组
是否改变原数组:
在这里插入图片描述

十八、findIndex()

方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置,当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,如果没有符合条件的元素返回 -1

语法:array.findIndex(callback(currentValue[, index[, array]]))

callback参数:
currentValue 遍历的该元素
index 该元素的下标
array 当前数组
是否改变原数组:
在这里插入图片描述
补充:findLastIndex()同理,从后往前找。

十九、reduce()

  • reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
  • reduce() 方法为数组的每个值(从左到右)执行提供的函数。
  • 函数的返回值存储在累加器中(结果/总计)。

array.reduce(function(prev, cur, index, arr), initialValue)

prev 必选,上一次调用回调返回的值,或者是提供的初始值(initialValue)。
cur 必选,数组中当前被处理的元素
index 可选,当前元素在数组中的索引
arr 可选,调用的数组
initialValue可选,传递给函数的初始值
是否改变原数组:

例一、(无初始值情况)

在这里插入图片描述
在这里插入图片描述

  • 无给初始值时,pre首次为数组第一个值,cur为数组第二个值。
  • 后续pre为回调函数返回的值,直至循环结束。

例二、(有初始值)

在这里插入图片描述
在这里插入图片描述

  • 若给初始值,pre为初始值,cur为第一个数组的值。
  • 后续pre为回调函数返回的值,直至循环结束。

例三、(高级用法)

1、统计出现的次数:
在这里插入图片描述
2、数组对象去重
按id去重:
在这里插入图片描述
在这里插入图片描述
3、将多维数组转化为一维
在这里插入图片描述

二十、fill()

fill() 方法用于将一个固定值替换数组指定位置中的元素,返回新数组。

语法:array.fill(value ,start,end )

参数:
value 必填,填充的值。
start 非必填,开始填充位置(下标),包含起始位。
end 非必填,截止填充位置(下标),不包含结束位,默认arr.length。
是否改变原数组:
在这里插入图片描述
在这里插入图片描述

二十一、isArray()

isArray() 这个方法用来判断一个对象是不是数组,是的话返回true,否则返回false
在这里插入图片描述

二十二、flat()

flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组。

语法:array.flat(floor )

参数:
floor 不填,默认展开一层。Infinity参数,全部展开。
是否改变原数组:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值