【JavaScript】 数组 重要方法详解篇(三)

💻 【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

结束语

希望对您有一点点帮助,如有错误欢迎小伙伴指正。
👍点赞:您的赞赏是我前进的动力!
⭐收藏:您的支持我是创作的源泉!
✍评论:您的建议是我改进的良药!
一起加油!!!💪💪💪

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

繁星学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值