• JS数组迭代方法


    先说 every()和 some(),它们都用于查询数组中的项是否满足某个条件。

    every()

    var numbers = [1,2,3,4,5,4,3,2,1];
     var everyResult = numbers.every(function(item, index, array){
     return (item > 2);
     });

     alert(everyResult); //false

    // 传入的函数必须对每一项都返回 true 相当于 number里面的参数都>2 才返回true

    some():

    var numbers = [1,2,3,4,5,4,3,2,1];

    var someResult = numbers.some(function(item, index, array){
     return (item > 2);
     });

     alert(someResult); //true
    // 传入的函数有一项>2都返回 true 相当于 number里面的参数有一个参数>2 返回true


    filter():

    var numbers = [1,2,3,4,5,4,3,2,1];
    var filterResult = numbers.filter(function(item, index, array){
    return (item > 2);
    });
    alert(filterResult); //[3,4,5,4,3]

    //它利用指定的函数确定是否在返回的数组中包含某一项。例如,要 返回一个所有数值都大于 2 的数组  相当于过滤 filter就是过滤的意思吧!


    map():

    var numbers = [1,2,3,4,5,4,3,2,1];
    var mapResult = numbers.map(function(item, index, array){
    return item * 2;
    });
    alert(mapResult); //[2,4,6,8,10,8,6,4,2]

    map()也返回一个数组,而这个数组的每一项都是在原始数组中的对应项上运行传入函数的结果。 例如,可以给数组中的每一项乘以 2,然后返回这些乘积组成的数组


    forEach():

    var numbers = [1,2,3,4,5,4,3,2,1];
    numbers.forEach(function(item, index, array){
    //执行某些操作
    });

    它只是对数组中的每一项运行传入的函数。这个方法没有返回值, 本质上与使用 for 循环迭代数组一样。


  • 相关阅读:
    tomcat请求流程浅解
    jdk8为啥lambda表达式建议你用冒号形式调用方法
    打印目录树形结构
    类斐波那契数列的java实现
    sping boot 如何将外部引入的jar包打到fat jar里面
    java多线程之生产者消费者
    Hadoop、Hbase、ZooKeeper的搭建
    java 静态代码块、构造代码块、构造函数调用顺序
    MyBatis的 or 和and 问题
    mysql
  • 原文地址:https://www.cnblogs.com/yuobey/p/10327178.html
Copyright © 2020-2023  润新知