猫史档案馆


【代码岛3】对于代码岛3一行代码的优化建议

用户:ray_crazyray_crazy查看:0 回复:4 评论:0 创建时间:2022-06-04T18:00:23


在社区里,流传着一条众所周知的代码

var playerName = 'ray_crazy';
world.querySelectorAll('player').forEach((e)=>{
    if(e.player.name === 'ray_crazy'){
        // 对玩家进行一些操作
    }
});

但是这种代码读起来非常麻烦,而且会出现层层嵌套的情况!

我们可以用Array.find方法进行优化

var e = world.querySelectorAll('player').find((e)=>{
    // 相当于遍历,e为正在遍历的值
    return e.player.name === 'ray_crazy'; // 如果return了true,则find函数返回正在遍历的值
})

根据es6的一些新语法,我们可以进一步优化

var e = world.querySelectorAll('player').find((e)=>e.player.name==='ray_crazy');

这里 e.player.name === 'ray_crazy' 会返回一个true到函数上

我们再去除一些不必要的符号,最终得到

var e=world.querySelectorAll("player").find((r=>"ray_crazy"===r.player.name));

这就是代码最简形式了


回复

上一页1 页 / 共 1下一页
想不出来叫什么想不出来叫什么

沙发

点赞0


评论


SCS_user_EHQ0z2l6elSCS_user_EHQ0z2l6el

地板

点赞0


评论


Mr.PythonMr.Python

万能的JS ES6

点赞0


评论


屑格子awa屑鸽子屑格子awa屑鸽子

沙发

点赞0


评论