💻 【JavaScript】数组的方法详解(三)🏠专栏:JavaScript
👀个人主页:繁星学编程🍁
🧑个人简介:一个不断提高自我的平凡人🚀
🔊分享方向:目前主攻前端,其他知识也会阶段性分享🍀
👊格言:☀️没有走不通的路,只有不敢走的人!☀️
👉让我们一起进步,一起成为更好的自己!!!🎁
【JavaScript】 数组(Array)迭代方法
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。
每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
一. forEach()
forEach()和for循环一个作用,就是用来遍历数组的。
语法格式:
forEach(function(数组项的值,数组的索引,数组本身){});
参数:函数做参数,默认每一个数组项都会执行一次函数,而且做参数的函数拥有三个参数。
- 第一个参数:数组项的值
- 第二个参数:数组项的索引
- 第三个参数:数组本身
注意
:forEach没有返回值,无法中断遍历(break无法使用)
案例:数组去重
var arr = [1, 4, 6, 34, 6, 7, 2, 2, 5, 6, 1];
var newArr = [];
arr.forEach(function(value) {
// 判断新数组中是否存在该数组项
if (newArr.indexOf(value) === -1) {
newArr.push(value);
}
});
console.log('去重后:', newArr); //[1, 4, 6, 34, 7, 2, 5]
console.log('原数组:', arr); // [1, 4, 6, 34, 6, 7, 2, 2, 5, 6, 1]
二. map()
映射(一 一对应关系),它可以对数组中的每一项进行操作,返回一个新的数组。
语法格式:
map(function(数组项的值,数组的索引,数组本身){});
参数:函数做参数,默认每一个数组项都会执行一次函数,而且做参数的函数拥有三个参数。
- 第一个参数:数组项的值
- 第二个参数:数组项的索引
- 第三个参数:数组本身
案例:每一项都乘以10
var arr = [1, 4, 6, 34, 6, 7, 2, 2, 5, 6, 1];
var newArr = arr.map(function(value) {
return value * 10;
});
console.log(newArr); // [10, 40, 60, 340, 60, 70, 20, 20, 50, 60, 10]
三. filter()
通俗理解其作用是:过滤(筛选),它可以对数组中的每一项进行操作,返回需要的数组项组成的新数组。
语法格式:
filter(function(数组项的值,数组的索引,数组本身){});
参数:函数做参数,默认每一个数组项都会执行一次函数,而且做参数的函数拥有三个参数。
- 第一个参数:数组项的值
- 第二个参数:数组项的索引
- 第三个参数:数组本身
案例:筛选大于等于5的数字
var arr = [1, 4, 6, 34, 6, 7, 2, 2, 5, 6, 1];
var newArr = arr.filter(function(value) {
return value >= 5;
});
console.log(newArr); // [6, 34, 6, 7, 5, 6]
四. every()
判断数组内是否每一个都满足条件
返回值:一个布尔值(true或false)
语法格式:
every(function(数组项的值,数组的索引,数组本身){});
参数:函数做参数,默认每一个数组项都会执行一次函数,而且做参数的函数拥有三个参数。
- 第一个参数:数组项的值
- 第二个参数:数组项的索引
- 第三个参数:数组本身
案例:判断数组中的数字是否全是数字型
var arr = [1, 4, 6, 34, 6, '7', 2, 2, 5, 6, 1];
var result = arr.every(function(value) {
return typeof value === 'number'
});
console.log(result); // false
五. some()
判断数组内是否有一个满足条件
返回值:一个布尔值(true或false)
语法格式:
some(function(数组项的值,数组的索引,数组本身){});
参数:函数做参数,默认每一个数组项都会执行一次函数,而且做参数的函数拥有三个参数。
- 第一个参数:数组项的值
- 第二个参数:数组项的索引
- 第三个参数:数组本身
案例:判断数组中的数字是否含有字符串型
var arr = [1, 2, 3, 4, 5, '6', 7, 8, 9];
var result = arr.some(function(value) {
return typeof value === 'string';
});
console.log(result); // true
every()和some()这两个方法的区别:
-
every()是判断数组内是否每一个都满足条件
简单的说就是要数组内所有项都满足条件才返回true,但凡有一个不满足返回的都是false
-
some(判断数组内是否有一个满足条件
简单的说就是要数组内所有项至少有一个满足条件就返回true
结束语:
希望对您有一点点帮助,如有错误欢迎小伙伴指正。
👍点赞:您的赞赏是我前进的动力!
⭐收藏:您的支持我是创作的源泉!
✍评论:您的建议是我改进的良药!
一起加油!!!💪💪💪