zoukankan      html  css  js  c++  java
  • 高程5.2.8迭代方法

    ECMAScript5为数组定义了5个迭代方法:every(),filter(),forEach(),map(),some()

    每个方法都接收两个参数:要在每一项上运行的函数 和 (可选的)运行该函数的作用域对象-影响this的值 .

    传入这些方法中的函数会接收三个参数:数组项的值,该项在数组中的位置和数组对象本身.

    根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响方法的返回值.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script>
        var numbers=[1,2,3,4,5,4,3,2,1];
    
        //关于every(),每一项为true,才返回true
        var everyResult=numbers.every(function(item,index,array){//function传入三个参数,数组项的值item,该项在数组中的位置index,数组对象本身array
            return (item>2);
        });
        console.log(everyResult);//false
    
        //关于some(),有一项为true,就返回true
        var someResult=numbers.some(function(item,index,array){
            return (item>2);
        });
        console.log(someResult);//true
    
        //关于filter(),返回function函数里每项为true组成的数组
        var filterResult=numbers.filter(function(item,index,array){
            return (item>2);
        });
        console.log(filterResult);//[3,4,5,4,3]
    
        //关于map(),返回的是function调用后结果组成的数组
        var mapResult1=numbers.map(function(item,index,array){
            return item*2;
        });
        console.log(mapResult1);//[2,4,6,8,10,8,6,4,2]
        var mapResult2=numbers.map(function(item,index,array){
            return 1;
        });
        console.log(mapResult2);//[1,1,1,1,1,1,1,1,1]
    
        //关于forEach(),它只是对数组中每一项运行传入的函数,这个方法没有返回值,本质上与使用for循环迭代数组一样
        numbers.forEach(function(item,index,array){
            //执行某些操作,例如
            console.log(item);//输出时是循环每一项输出值换行输出下一项值
        });
        </script>
    </head>
    <body>
        
    </body>
    </html>
  • 相关阅读:
    将项目中某些常用设置做成配置项
    资产管理平台去除zabbix字样
    navicat远程连接报错
    Excel数据导入MySql数据库
    Ubuntu16.04使用命令行安装jdk1.8
    zabbix4.0配置短信报警
    整洁代码系列(2)
    找回篮球场上的快乐
    努力做人、努力学习、努力让身边的人过得更好 --2016年总结、2017年规划
    整洁代码系列(1)
  • 原文地址:https://www.cnblogs.com/sunshinegirl-7/p/4977387.html
Copyright © 2011-2022 走看看