zoukankan      html  css  js  c++  java
  • ES6-map映射,filter过滤器,reduce汇总,forEach循环数组

    1.map

    1.1 个人理解

    • 映射 一个对一个 例如:[45,57,138]与[{name:'blue',level:0},{name:'zhangsan',level:99},{name:'lisi',level:100}] [45,67,99]与['不及格','不及格','及格']

    1.2 代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>map数组</title>
        <script>
            let score = [12, 88, 59, 99];
            // let result = score.map((item) => {
            //     if (item > 60) {
            //         return '及格'
            //     } else {
            //         return '不及格'
            //     }
            // });
            // 简写
            let result = score.map(item => item > 60 ? '及格' : '不及格');
            alert(score);
            alert(result);
        </script>
    </head>
    <body>
    </body>
    </html>
    

    2.reduce

    2.1 个人理解

    • 汇总 一堆只出来一个 例如:算个总数[12,8,4]->24 算个平均数[12,8,4]->8

    2.2 代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>reduce数组</title>
        <script>
            let score = [1, 3, 6, 9];
            // 求和
            let result = score.reduce((tmp, item, index) => {
                // 前言://第一次时tmp,item,index分别为1,3,1,按此类推
                console.log("第" + index + "次计算后返回结果:" + tmp);
                // tmp:每次计算后返回结果,依次为1,3,6 没有10,10作为最终输出
                console.log("当前的值" + item);
                // item:当前的值,依次为3,6,9
                console.log("当前值的下标" + index);
                // index:当前值的下标,依次为1,2,3  从1开始,而非0
                return tmp + item;
            });
            // 两次效果相同
            // let result = score.reduce((tmp, item) => {
            //     return tmp + item;
            // });
            alert(result);
            // 算平均数
            let scoreone = [1, 3, 6, 14];
            let resultone = scoreone.reduce((tmp, item, index) => {
                // 不是最后一次
                if (index != scoreone.length - 1) {
                    console.log(index)
                    return tmp + item;
                } else {
                    // 最后一次
                    return (tmp + item) / scoreone.length;
                }
            });
            alert(resultone);
        </script>
    </head>
    <body>
    </body>
    </html>
    

    2.3 分析图

    thisisimage

    3.fliter 过滤器

    3.1 个人理解

    • 选择自己需要的

    3.2 代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>filter过滤器</title>
        <script>
            let score = [12, 88, 59, 99];
            // let result = score.filter((item) => {
            //     alert(item % 3 == 0);
            //     if (item % 3 == 0) {
            //         return true;
            //     } else {
            //         return false;
            //     }
            // });
            // 简写
            let result = score.filter(item => item % 3 == 0 ? true : false);
            alert(result);
            let arr = [{
                title: '男士衬衫',
                price: 75
            }, {
                title: '衬衫',
                price: 65000
            }, {
                title: '男士',
                price: 2250
            }];
            let resultone = arr.filter(item => item.price > 1000 ? true : false);
            console.log(resultone);
            // console.log(resultone[0].title);
        </script>
    </head>
    <body>
    </body>
    </html> 
    

    4.forEach 循环(迭代)

    4.1 个人理解

    • 参数就是下标和值,然后使用即可

    4.2 代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>forEach迭代循环</title>
        <script>
            let score = [12, 88, 59, 99];
            score.forEach((item, index) => {
                alert(index + ":" + item);
            });
        </script>
    </head>
    <body>
    </body>
    </html>
  • 相关阅读:
    bat过滤任意字符
    汇编代码之修改文件时间
    使用C语言编写提取通用shellcode的程序
    汇编代码之修改文件时间
    VC++6.0中内存泄漏检测
    透视木马程序开发技术
    bat过滤任意字符
    VC++6.0中内存泄漏检测
    透视木马程序开发技术
    使用C语言编写提取通用shellcode的程序
  • 原文地址:https://www.cnblogs.com/dongxuelove/p/12934575.html
Copyright © 2011-2022 走看看