• 数组用于遍历的方法


    数组中用于遍历的方法

    一,for循环

    语法:for(let ; ; )

    二,for in:常用与遍历对象

    语法:for( let i in obj)

    三,forEach()

    作用:调用数组中的每个元素,并将元素传递给回调函数进行执行,无返回值。

    语法:array.forEach(function(currentValue, index, arr));

    四,for of:用于遍历值

    语法:
    for (var value of arr){
    console.log(value);
    }

    注意:for in和for of的区别

    for in遍历下标,for of遍历值。

    五,map()

    作用:用于处理数组,并用return返回结果,结果组成一个新的数组返回。

    语法:arr.map(function(value,key,arr){
    ...

    })

    六,filter()

    作用:是一个过滤函数,需要在循环的时候判断一下是true还是false,是true才会返回原本数组的这个元素。

    语法:

    let arr1 = [1,2,3];
    let arr2 = arr1.filter((value,key,arr) => {
    console.log(value) // 1,2,3
    console.log(key) // 0,1,2
    console.log(arr) // [1,2,3]
    return value >= 3 ? false : true;
    })
    console.log(arr1); // [ 1, 2, 3 ]
    console.log(arr2); // [ 1, 2 ]


    注意:

    数组利用filter加上箭头函数去重
    let arr = [1, 2, 2, 3, 4, 5, 5, 6];
    let newArr = arr.filter((x, index,self)=>self.indexOf(x)===index)
    console.log(newArr)

    七,some():

    和filter功能相同,不同的是,它返回boolean值,用于检查数组中是否存在某对象.

    语法:

    if (arr.some(list => list.value === 1)) {
    console.log('执行了!')
    }


    ES6的三个新方法:entries(),keys()和values() —— 用于遍历对象,它们都返回一个遍历器对象,可以和for...of循环进行组合,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。

    一,keys():遍历对象的键值,返回一个由键值组成的数组。

    作用:获取对象的键值,并返回一个数组。

    语法:

    let obj = { a: 1, b: 2, c: 3 };

    for (let key of Object.keys(obj)) {
    console.log(key); // 'a', 'b', 'c'
    }
     var obj1 = {"name":"lucas","age":22};
    console.log(Object.keys(obj1)) //["name", "age"]

    二,values()遍历对象的值,并作为数组返回。

    作用:获取对象的值,并作为数组返回。

    语法:

    let obj = { a: 1, b: 2, c: 3 };
    for (let value of Object.values(obj)) {
    console.log(value); // 1, 2, 3
    }


    var obj1 = {"name":"lucas",age:22};
    console.log(Object.values(obj1)) //["lucas", 22]

    三,entries(),entries方法的一个用处是,将对象转为真正的Map结构。

    entries()函数会将 key 和 value 以二维数组的形式都返回。

    作用:初始化map结构的时候,可以作为输入。

    语法:

    var obj2 = {foo:'bar',baz:42};//普通对象
    var map2 = new Map(Object.entries(obj2));//entries()处理对象为二维数组并作为map的初始化值。
    console.log(map2); //map{"foo" => "bar", "baz" => 42}

    补充:

    map数据结构是一种对象的解构,对象中的键不再只是字符串,而是任意的数据类型都可以当键,是一种广义的键。

    声明map解构:

    let m = new Map();//map数据结构有四种方法,set,get,has,delete

    m.set(123,'abc');//添加键值对

    console.log(m.get(123));//获取值

    m.has(123);//-->true查找对象中是否有

    m.delete(123);//删除123键值对,成功删除返回true,失败返回false

    业精于勤,荒于嬉,行成于思,毁于随~
  • 相关阅读:
    Crumpet – 使用很简单的响应式前端开发框架
    太赞了!超炫的页面切换动画效果【附源码下载】
    你见过动物是怎么笑的吗?赶紧来看看【组图】
    Treed – 基于拖放 操作的,强大的树形编辑器
    Perfect Scrollbar – 完美的 jQuery 滚动条插件
    Jeet – 先进,直观,灵活的 CSS 网格系统
    舌尖上的设计!10个美味的餐馆和食品网站
    推荐15款最好的 Twitter Bootstrap 开发工具
    Web 前端开发人员和设计师必读精华文章【系列二十五】
    Seen.js – 使用 SVG 或者 Canvas 渲染 3D 场景
  • 原文地址:https://www.cnblogs.com/yu-tang/p/12173269.html
Copyright © 2020-2023  润新知