• 一些特殊的遍历方法


    1.forEach(偏操作元素型)

    对数组中的每一个元素执行一次函数。

            var arr2 = [1,3,6,7];
            var theSum = 0;
            arr2.forEach(function(value, index, arr) {
                //函数可以传入三个参数,value必写
                //其中value为元素的值,当其为储存对象的数组的时候就为对象
                //index为当前所执行的元素对应数组的下标
                //arr数组本身
                theSum += value;
            })
            console.log(theSum); //17
    注意: 除了抛出异常以外,没有办法中止或跳出 forEach() 循环。如果你需要中止或跳出循环,forEach() 方法不是应当使用的工具。

    2.filter(元素筛选)

    用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。该方法的传入参数与foreach一致        // filter 筛选数组

        <script>
            // filter 筛选数组
            var arr = [12, 66, 4, 88, 3, 7];
            var newArr = arr.filter(function(value, index) {
                return value >= 12;
                //符合条件要求的就返回
           //等式左边需要有一个数组来接收参数
            });
            console.log(newArr); // 12 66 88
        </script>

    利用该方法数组去重:

            // filter 筛选数组
            var arr = [12, 2, 2, 3, 3, 7];
            var newArr = arr.filter(function(value, index) {
                return index == arr.indexOf(value);
            });
            console.log(newArr);

    3.some(判断元素是否存在)

            // some 查找数组中是否有满足条件的元素 
            // var arr = [10, 30, 4];
            // var flag = arr.some(function(value) {
            //     // return value >= 20;
            //     return value < 3;
            // });
            // console.log(flag);
            var arr1 = ['red', 'pink', 'blue'];
            var flag1 = arr1.some(function(value) {
                return value == 'pink';
            });
            console.log(flag1);
            // 1. filter 也是查找满足条件的元素 返回的是一个数组 而且是把所有满足条件的元素返回回来
            // 2. some 也是查找满足条件的元素是否存在  返回的是一个布尔值 如果查找到第一个满足条件的元素就终止循环

    4.Object.keys (遍历对象属性)

    用于获取对象身上所有可以枚举的属性名

            // 用于获取对象自身所有的属性
            var obj = {
                id: 1,
                pname: '手机',
                price: 2000,
                num: 666
            };
            var arr = Object.keys(obj);
            console.log(arr);
            arr.forEach(function(value) {
                console.log(value);
            })

    返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。

  • 相关阅读:
    Teched最后两天下载,同时新加熊老的teched录像,请尽快下载。
    如何学习,牛人是否真牛?
    为什么我的脚本大多是支持IE环境
    SPS中提供的Blog
    teched2004最后一天下载,新增js的menu1.0下载
    asp+xml+js所作的文件管理器,完全仿xp风格,精彩下载不要错过。
    将业务系统数据库的数据显示在页面上并且作WebPart的跨页面连接
    Activity中UI框架基本概念
    Android学习笔记——Activity的启动和创建
    Mms模块ConversationList流程分析(2)
  • 原文地址:https://www.cnblogs.com/dokom666/p/12863409.html
Copyright © 2020-2023  润新知