es6新增的遍历数组的方法,后面都会用这个方法来遍历数组,或者对象,还有set,map
let arr=[1,2,3,4,3,2,1,2];
遍历数组最简洁直接的方法
for (let value of arr) { console.log(value);//
1. 数组.map()
返回一个新的数组,es5要复制一个新的数组我们一般用循环,现在直接用map
let arr=[1,2,3,4,3,2,1,2]; let newArr=arr.map((value,index,arr)=>value) console.log(newArr)//
2. 数组.filter()
过滤,返回为真的值,
let arr=[1,2,3,4,3,2,1,2]; let newArr1=arr.filter((value,index,arr)=>value>=3) console.log(newArr1);//
3. 数组.reduce()
每个参数的意思previousValue上次回调的返回值或者初始值,currentValue正在处理的数组值,currentIndex正在处理函数的下标
//以前找最大值,最小值我们是用的2层循环来找的,现在直接一行代码搞定,是不是很爽 let arr=[1,2,3,4,3,2,1,2]; let newArr2=arr.reduce((pre,cur,curIndex,arr)=>pre>cur?pre:cur) //pre=1不大于cur=2,返回2; //pre接收返回值2;pre=2不大于cur=3,返回3 ..... //一直找到4并且返回4; //pre接收4,pre=4大于pre=3然后就一直返回的都是4,这样就会找到最大值 console.log(newArr2)//
es6提供的一种新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值(包括NaN),但是set内部对象是不相等的
Set不是数组,自然就没有length属性,它有size属性,set.size,就是返回它的成员数量;
let set=new Set([1,2,3,4,3,2,1]);//这里必须传入的是数组 console.log(set)//
Array.from()方法从一个类似数组或可以迭代的对象中创建一个新的数组实例
let set=new Set([1,2,3,4,3,2,1]); console.log(Array.from(set))//用这个方法就可以把set对象转换我数组,
利用set 和 from达到数组去重
let arr1=[1,2,2,1,1,3,5,2] console.log(Array.from(new Set(arr1)))//
写到这里突然想到es6的...方法
console.log([...new Set(arr1)])
Set的遍历方法
for (let value of set.keys()) { console.log(value)//
es6提供了Map数据结构,它类似于对象,也是键值对的集合,但是它的强大在于键的范围可以任何类型的数据;
let map=new Map([["name","张三"],[[1,2,3],18],[{},"男"]]) console.log(map) console.log(map.set("name","李四"))//
以上这篇浅谈ES6新增的数组方法和对象就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。