JavaScript--遍历数组的三种方法map()forEach()filter() & 确认数组元素是否满足某种条件( some() & every() )
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript--遍历数组的三种方法map()forEach()filter() & 确认数组元素是否满足某种条件( some() & every() )相关的知识,希望对你有一定的参考价值。
1. 遍历数组
1.1 map()
方法概述
map()方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组
格式说明
let newArray = ["1", "2", "3"].map((item, index, arr) => {
// 转换成10进制的数字
return parseInt(item, 10)
}
)
- map中回调函数中的第一个参数为:当前正在遍历的元素
- map中回调函数中的第二个参数为:当前元素索引
- map中回调函数中的第三个参数为:原数组本身(一般用不着)
1.2 forEach()
方法概述
forEach()方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组
格式说明
let arr = [1, 2, 3, 4, 5];
arr.forEach((item, index, arr) => {
console.log(item * 2);
console.log(index);
})
- 第一个参数为:当前正在遍历的元素
- 第二个参数为:当前元素索引
- 第三个参数为:原数组本身
使用说明
- 这个方法没有返回值,仅仅是遍历数组中的每一项,不对原来数组进行修改
但是可以自己通过数组索引来修改原来的数组 - forEach()不能遍历对象,可以使用for in
1.3 filter()
方法概述
filter()方法是对原数组进行过滤筛选,产生一个新的数组对象
注意事项
- filter()不会对空数组进行检测(如果对空数组进行筛选,返回值位undefined)
- filter()不会改变原始数组
- 返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组
格式说明
let arr = [1, 2, 3, 4, 5];
let temp = arr.filter((item, index, arr) => {
return item % 2 === 0;
});
alert(temp);// 2,4
- 第一个参数为:当前正在遍历的元素
- 第二个参数为:当前元素索引
- 第三个参数为:原数组本身
1.4 确认数组元素是否满足某种条件
1.4.1 some()
方法概述
some:遍历数组,查找数组当中是否有元素满足条件,如果有至少一个元素满足条件,则返回true,否则返回false。
注意事项
不会改变原数组,返回的结果是一个布尔值
格式说明
let arr = [1, 2, 3, 4, 5];
let flag = arr.some(function (item, index, arr) {
return item > 6; // false 因为没有元素大于6
});
flag = arr.some(function (item) {
return item > 3; // true 因为4,5大于3
});
- 第一个参数为:当前正在遍历的元素(一般只用这个参数就可以了。)
- 第二个参数为:当前元素索引
- 第三个参数为:原数组本身
1.4.2 every()
方法概述
every:遍历数组,如果数组的每个元素都满足条件,则返回true,否则返回false。
注意事项
不会改变原数组,返回的结果是一个布尔值
格式说明
let arr = [1, 2, 3, 4, 5];
let flag = arr.every(function (item, index, arr) {
return item > 0; // true 因为每个元素都大于0
});
flag = arr.every(function (item) {
return item > 3; // flase 因为3,4,5都不大于3
});
- 第一个参数为:当前正在遍历的元素(一般只用这个参数就可以了。)
- 第二个参数为:当前元素索引
- 第三个参数为:原数组本身
以上是关于JavaScript--遍历数组的三种方法map()forEach()filter() & 确认数组元素是否满足某种条件( some() & every() )的主要内容,如果未能解决你的问题,请参考以下文章