为了账号安全,请及时绑定邮箱和手机立即绑定

js 使用for循环过滤对象数组

js 使用for循环过滤对象数组

弑天下 2019-05-10 11:35:30
letobjList=[{name:'tom',age:12},{name:'jack',age:33},{name:'zio',age:12},{name:'lolo',age:89},{name:'robin',age:16},]letageList=[12,16];letgetData=objList.filter((item)=>{returnageList.includes(item.age)});console.log(getData)如上所示,最后打印出来的数据是年龄为1216的元素,想请教各位大佬,如果只是用for循环的方法如何才能过滤对象数组得到想要的数据呢?
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

varnewArr=[];
for(vari=0;iageList.indexOf(objList[i].age)!=-1&&(newArr.push(objList[i]));
                            
查看完整回答
反对 回复 2019-05-10
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

这标题取的,完全跟算法无关好吧,就是基础判断而已
letgetData=[];
for(leti=0;iletitem=objList[i];
if(ageList.includes(item.age)){
getData.push(item);
}
}
console.log(getData)
而filter可以简化成
letgetData=objList.filter(({age})=>ageList.includes(age));
2段代码的结果一样,根本没必要写for循环,反正上线都要编译成es5
                            
查看完整回答
反对 回复 2019-05-10
  • 2 回答
  • 0 关注
  • 1297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号