欢迎来到JS复习专栏,本文章主要内容为Arrayd的其他方法
文章目录
Array其他方法
includes()
arr.includes(想要查找的元素, [position]);
判断一个数组中是否包含指定的元素。如果是,则会返回 true;否则返回 false。
参数中的 position:如果不指定,则默认为0;如果指定,则规定了检索的起始位置。
const arr = [11, 12, 13, 14, 15];
console.log(arr.includes(12)); // 打印结果:true
console.log(name.includes(20)); // 打印结果:false
console.log(name.includes(11, 1)); // 打印结果:false
find()
find((item, index, arr) => {
return true;//这里是条件
});
作用:找出第一个满足指定条件返回 true的元素;如果没找到,则返回 undefined。
注意:
一旦找到符合条件的第一个元素,将不再继续往下遍历。
findIndex()
findIndex((item, index, arr) => {
return true;
});
找出第一个满足「指定条件返回 true」的元素的 index。
every()
every()
:对数组中每一项运行回调函数,如果都返回 true,every 就返回 true;如果有一项返回 false,则停止遍历,此方法返回 false。
注意:every()方法的返回值是 boolean 值,参数是回调函数。
some()
some()
:对数组中每一个元素运行回调函数,只要有一个元素返回 true,则停止遍历,此方法返回 true。
注意:some()方法的返回值是 boolean 值。
forEach() 遍历
数组中有几个元素,该回调函数就会执行几次。
回调函数中传递三个参数:
-
第一个参数,就是当前正在遍历的元素
-
第二个参数,就是当前正在遍历的元素的索引
-
第三个参数,就是正在遍历的数组
注意:
如果纯粹只是遍历数组,那么,可以用 forEach()
方法。但是,如果你想在遍历数组的同时,去改变数组里的元素内容,那么,最好是用 map()
方法来做。
map()方法
arr.map(function (item, index, arr) {
return newItem;
});
对数组中每一项运行回调函数,返回该函数的结果,组成的新数组(返回的是加工之后的新数组)。不会改变原数组。
对数组中的每一项进行加工。
filter()
arr.filter(function (item, index, arr) {
return true;
});
对数组中的每一项运行回调函数,该函数返回结果是 true 的项,将组成新的数组(返回值就是这个新的数组)。不会改变原数组。
reduce()方法
reduce()
方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。返回值是回调函数累计处理的结果。
arr.reduce(function (previousValue, currentValue, currentIndex, arr) {}, initialValue);
参数解释:
-
previousValue
:必填,上一次调用回调函数时的返回值 -
currentValue
:必填,当前正在处理的数组元素 -
currentIndex
:选填,当前正在处理的数组元素下标 -
arr
:选填,调用 reduce()方法的数组 -
initialValue
:选填,可选的初始值(作为第一次调用回调函数时传给 previousValue 的值)