es6遍历数组有哪些方法
导读:本文共2884字符,通常情况下阅读需要10分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: es6遍历数组的方法:1、使用forEach(),可为数组中的每个元素调用一个函数;2、使用map(),对数组的每个元素调用指定的回调函数;3、使用filter();4、使用some();5、使用every();6、使用reduce()。本教程操作环... ...
目录
(为您整理了一些要点),点击可以直达。
es6遍历数组的方法:1、使用forEach(),可为数组中的每个元素调用一个函数;2、使用map(),对数组的每个元素调用指定的回调函数;3、使用filter();4、使用some();5、使用every();6、使用reduce()。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
ES6常见的数组遍历(迭代)方法
forEach
map
filter
some
every
reduce
声明一个需要遍历的对象
下面的代码都是要引用这个对象的
letdata={code:1,list:[{id:23,title:"女装1",price:300},{id:24,title:"女装2",price:200},{id:27,title:"男装1",price:100},{id:29,title:"男装2",price:400},{id:230,title:"女装3",price:600},{id:40,title:"童装1",price:700}]}
forEach
forEach的话不能使用break 与continue语句
//有二个参数第一个参数是数值第二个参数是索引值data.list.forEach(function(item,index){console.log(item,index)//输出结果是{//{id:23,title:"女装1",price:300}0//{id:24,title:"女装2",price:200}1//{id:27,title:"男装1",price:100}2//{id:29,title:"男装2",price:400}3//{id:230,title:"女装3",price:600}4//{id:40,title:"童装1",price:700}5//}})
map
//map映射//遍历数据并返回一个新的数组对数据的处理会返回原先对应的位置letarr=[2,3,6];letnewArr=arr.map(function(val,index){//第一个参数是值第二个参数是索引值console.log(arr)})
**遍历数据并返回一个新的数组 对数据的处理会返回原先对应的位置
要添加代码块 map 不可以解析同一个块级作用域
{}{}代表不同的块级作用域 分别在不同里面写**
//浅拷贝//浅拷贝是指a把值给了b当b的值改变ab的值同时改变。{letarr=[2,3,6];letnewArr=arr.map(function(index,val){//第一个参数是索引值第二个参数是值})console.log(arr)//0:2//1:3//2:6}{//浅拷贝//浅拷贝是指a把值给了b当b的值改变ab的值同时改变。letnewArr=data.list.map((item,index)=>{item.price=item.price*.6returnitem;});console.log(newArr)//打印的结果价格都是改变的,一样的{//0:{id:23,title:"女装1",price:180}//1:{id:24,title:"女装2",price:120}//2:{id:27,title:"男装1",price:60}//3:{id:29,title:"男装2",price:240}//4:{id:230,title:"女装3",price:360}//5:{id:40,title:"童装1",price:420}//}console.log(data.list)//同上}
输出结果 深拷贝无论a b 值哪个改变 最终结果都不会随着a b的改变而改变
// 深拷贝 2(简单粗暴)
filter 过滤
过滤到价格小于300的 打印出来
some
定义的是找到一个值并且返回
every
这个返回的是如果其中一个为假 全部返回为假 返回的是每个条件
这个是输出的信息
reduce 用来实现累加的效果
输出的总和是 sum+val(数值)
//reduce用来实现累加的效果(常用于写购物车价格的累加)//声明一个数组数组里面放数字让其里面的数字显示为累加的总和//letarr=[200,200,100]//letresult=arr.reduce((sum,val,index)=>{//200+200index//400+100index//sum是总加后的和val是变量里面的值index为索引值//console.log(sum,val,index)//returnsum+val;//})//console.log(result)
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
es6遍历数组有哪些方法的详细内容,希望对您有所帮助,信息来源于网络。