用户:ray_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));
这就是代码最简形式了