• for in //for of //forEach //map三种对比


    遍历Array可以采用下标循环,遍历MapSet就无法使用下标。为了统一集合类型,ES6标准引入了新的iterable类型,ArrayMapSet都属于iterable类型。

    具有iterable类型的集合可以通过新的for ... of循环来遍历。


    <script>
    【键-->键值】
    【key-->value】
    var arr=[
    {
    name : '余佳品',
    age : "26"
    },
    {
    name : '增利',
    age : "25"
    },
    ]
    /*for in 是es5的只能拿到下标(键值)for ... in循环由于历史遗留问题,它遍历的实际上是对象的属性名称。一个Array数组实际上也是一个对象,它的每个元素的索引被视为一个属性*/
    for(item in arr){
    console.log(item)//0 1 下标
    }
    /*for ... of它只循环集合本身的元素:相当于循环的键值value*/
        for(item of arr){
    console.log(item)//{name: "余佳品", age: "26"} {name: "增利", age: "25"}
    }


    /*当然最好用的还是这个,不光可以循环键还可以循环键值 最推荐,接受三个参数,第一个是value键值 第二个是key键,第三个元素是数组本身*/

    arr.forEach(function (element, index, array) {
    console.log(element,'****p1') //键值 {name: "余佳品", age: "26"}age: "26"name: "余佳品"__proto__: Object "****p1"
    console.log(index,'****p2') //0 1 "****p2"
    console.log(array,'****p3')//(2) [{…}, {…}] "****p3" 数组自己本身
    })
    </script>

    还有一种方法是array.map方法
    const array = [1, 3, 6, 9];
    const newArray = array.map(function (value) {
      return value + 1;
    });
    console.log(newArray);
    console.log(array);

    结果:

    [2, 4, 7, 10]

    [1, 3, 6, 9]

    1、.map()方法使用return,进行回调;其他方法可不需要。

    2、.map()方法直接对数组的每个元素进行操作,返回相同数组长度的数组;其他方法可扩展数组的长度。

    Arraymap()filter()方法,可是Object没有这些方法,注意区别


    参考:廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450082788640f82a480be8481a8ce8272951a40970000
  • 相关阅读:
    python3.6下安装wingIDE破解方法
    Python 列表list 和 字符串str 互转
    c# 读取txt文件并分隔
    基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
    Jquery ajax动态更新下拉列表的内容
    vs2015使用技巧-------- 查看类关系图
    Dapper 批量操作sql
    Linq批量建表
    WebRequest的get及post提交
    git -- 常用命令
  • 原文地址:https://www.cnblogs.com/myfirstboke/p/9150379.html
Copyright © 2020-2023  润新知