js 数组相关的方法集合

数组常见的循环:

1,array.map:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

例子:.map((item, index) => {return { ...item,index: index + 1} }) || .map(_ => _.id)

2,array.filter:返回一个新数组,包含了符合条件的所有元素,如果没有符合条件的则返回空数组。

例子:.filter(_ => !_.children)

3,array.find()方法用于查找数组中符合条件的第一个元素, 如果有就返回满足条件的第一个元素,如果没有符合条件的元素,则返回undefined。

例子:.find(it => it.name=== '1')

4,array.findIndex()方法用于查找数组对象中符合条件的元素,返回索引,若没有符合条件的元素则返回-1。

例子:.findIndex(item=>item.id==='1')

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

举例:['1', '2'].includes(type) 或者用some: ['1', '2'].some(_ => _ === type)

6,array.every() 方法用于检测数组所有元素是否都符合指定条件,如果所有元素都满足条件则返回true,如果检测到有一个元素不满足,则返回false,剩余元素不会再执行检测。

7,array.some() 方法用于检测数组中的元素是否满足指定条件,如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测,如果没有满足条件的元素,则返回false。

8,array.reduce() 方法可以用来做数组去重,累加,统计数显次数,比较大小等;reduce方法接收一个回调函数和初始值:array.reduce(callback,初始值) 即 array.reduce((prev, cur,index,array) => { },value)
举例:

// prev:累加值;cur:没有初始值,取数组第二个的值,有初始值取数组第一个值;index:当前索引;array:当前数组;
const newDates = dates.reduce((acc, item) => {
    acc[item] = '123'
    return acc
}, {})

9,比较for循环和forEach循环:

for (let i = 0; i < arr.length; i++) { ... } | arr.forEach((element, index, array) => { ... })

遍历顺序:按照数组元素的索引顺序遍历 | 按照数组元素的添加顺序遍历

可变性: 可以修改数组元素 | 不能修改数组元素

中断遍历: 可以使用 break 语句中断遍历 | 不能使用 break 语句中断遍历

返回值:无返回值 | 无返回值

用法:适用于需要对数组元素进行逐个处理的情况 | 适用于需要对数组元素进行遍历,但不需要修改数组元素的情况

10,indexOf()方法:

(1),数组调用:返回数组中某个指定的元素位置,返回其首个匹配项的索引。返回-1则为未找到,所以一般判断条件为array.indexOf(a)>-1则为array数组中存在a字段,或者用array.indexOf(a)!==-1。

(2),字符串调用:返回某个指定的字符串值在字符串中首次出现的位置,返回-1则为未找到。
indexOf()方法并不适用于复杂数组匹配,如果是对象型数组,则需要用some()方法,

数组其他方法:

(1),array.slice(0, -3)用于截取数组,返回一个新的数组,不会对原数组产生影响,

(2),array.splice(index, 1)(从何处添加/删除元素,删除多少位元素,要添加到数组的新元素):用于添加或删除数组中的元素。返回值是一个新数组,里面就是你截取出来的数据。

(3),array.join(',') 数组转字符串;相反string.split() 用于将字符串转数组,array.toString()也可以实现数组转字符串;

(4),push()末尾添加和unshift()首部添加,返回值是新数组的长度,而pop()末尾移除和shift()是首项移除元素,返回的是删除的数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值