资讯专栏INFORMATION COLUMN

js 中的迭代方法

fsmStudy / 1920人阅读

摘要:根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响方法的返回值。对数组中的每一项运行给定函数,返回改函数会返回的项组成的数组。

ECMAScript 为数组定义了五个迭代方法。
每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值。
传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本省。
根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响方法的返回值。
以下是这五个迭代方法的作用。

1、every(); 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。

2、some(); 对数组的每一项运行给定函数,如果该函数对任一项返回true,则返回true。
    var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    var everyResult = numbers.every(function(item, index, array){
        return (item > 3);
    })
    console.log(everyResult);    //false
    
    var someResult = numbers.some(function(item, index, array) {
        return (item > 3);
    })
    console.log(someResult);    //true
3、filter(); 对数组中的每一项运行给定函数,返回改函数会返回true的项组成的数组。
    var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    var filterResult = numbers.filter(function(item, index, array) {
        return (item > 3);
    })
    console.log(filterResult);    //[4, 5, 4]
4、map(); 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
    var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    var mapResult = numbers.map(function(item, index, array) {
        return item * 2;
    })
    console.log(mapResult);    //[2, 4, 6, 8, 10, 8, 6, 4, 2]
5、forEach(); 对数组中的每一项运行给定的函数,该方法没有返回值,本质上于使用for循环迭代数组一样。
    var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
    numbers.forEach(function(item, index, array) {
        //执行某些操作
    })

未完待续。。。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83684.html

相关文章

  • js中的常见的循环迭代:for loop, forEach, for...in... for...

    摘要:下面就总结下中常见的几种循环方法。因为循环将遍历对象本身的所有可枚举属性,以及对象从其构造函数原型中继承的属性。上也明确提示不应该用于迭代一个,其中索引顺序很重要。 引言 平时工作中循环的使用场景可以说是非常之多了,昨天改别人代码时候有位同事非常喜欢用ES6等新特性,一个数组的遍历全部都是用for...of...,然后业务需求要用到数组中的序号index值,就很尴尬了,我只能改回for...

    Leo_chen 评论0 收藏0
  • JS迭代器模式《JavaScript设计模式与开发实践》阅读笔记

    摘要:但实际中,内部迭代器和外部迭代器两者并无优劣。迭代器并不只迭代数组迭代器模式不仅能迭代数组,还可以迭代一些类数组对象。晚安了,参考设计模式与开发实践曾探本文作者本文链接迭代器模式设计模式与开发实践阅读笔记 迭代器模式:一个相对简单的模式,目前绝大多数语言都内置了迭代器,以至于大家都不觉得这是一种设计模式 迭代器模式 迭代器模式指提供一种方法访问一个聚合对象中的各个元素,而又不需要暴露该...

    djfml 评论0 收藏0
  • js设计模式--迭代器模式

    摘要:文章系列设计模式单例模式设计模式策略模式设计模式代理模式概念迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 前言 本系列文章主要根据《JavaScript设计模式与开发实践》整理而来,其中会加入了一些自己的思考。希望对大家有所帮助。 文章系列 js设计模式--单例模式 js设计模式--策略模式 js设计模式--代理模式 概念 迭代器模式是指...

    binta 评论0 收藏0
  • 从零到有模拟实现一个Set类

    摘要:过滤掉和简单判断是否是迭代器对象模拟行为对迭代器对象进行遍历操作。看到这里你可能已经知道了,要实现的功能之一就是提供一个迭代器。原文链接参考迭代器和生成器系列之模拟实现一个数据结构展开语法循环 前言 es6新增了Set数据结构,它允许你存储任何类型的唯一值,无论是原始值还是对象引用。这篇文章希望通过模拟实现一个Set来增加对它的理解。 原文链接 用在前面 实际工作和学习过程中,你可能也...

    PAMPANG 评论0 收藏0

发表评论

0条评论

fsmStudy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<