字符串列表和对象的遍历

上次在工作中被列表的遍历坑了一下:

es6中Array的遍历方法有这样几种:map();forEach();filer();every();some();

1.map()

map方法有两点要注意:1.它不对原本的list操作,它会创建一个新的list进行操作,然后返回一个list;2.它是对list的每一项元素进行操作,如果要在它的功能函数里面增加判断,每一个分支都要有返回值,不然就会出现你不想要的数值

returnValue = [1,2,3,4,5,6].map((item) => { return item *2;});   //  [2,4,6,8,10,12]

但是我们如果想筛选list中的偶数项,map就不能使用了,如:

returnValue = [1,2,3,4,5,6].map((item%2) => { return item *2;});   //  [2,undefined,6,undefined,10,undefined]


2.forEach

forEach的使用要注意两点:1.它可对list的元素进行操作,2.它没有返回值,它的返回值是undefind,除非我们不想拿到操作以后的列表,不然的话,我们只能把它push到一个新的list中

let returnValue: string[] = [];

 [1,2,3,4,5,6].forEach((item%2) => { returnValue.push(item*2);});   //  [2,6,10]


3.filter

filter的特点有以下几个1.只能做list的筛选工作,它返回符合条件的元素;2.它对元素本身不能操作

[1,2,3,4].filter((item)=>{if(item%2){return item*2;}});  // [1,3]

[1,2,3,4].filter((item)=>{if(item%2){return item*2;}});  // [1,3]


4.every

every的使用要注意两点:1.是对每一个元素的遍历,但它的返回值是true/false;2.这个list中的每一个元素都要符合功能函数的条件,都满足它就返回true,否则返回false

[1,2,3,4].filter((item)=>{return item%2;});  // false

[1,2,3,4].filter((item)=>{return item>0;});  // true


5.some

some的使用和every功能类似,关键点在于,list中只有有一项符合功能函数的条件,它就返回true,否则返回false


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值