在 forEach 循环中运行特定于子类的方法的最佳实践

马克西姆·韦伯

我正在编写一些需要连续循环遍历对象数组的代码。有几种类型的块,例如砖块、金属或沙子,我会更新它们的位置以及玩家是否在一个 foreach 循环中接触它们。

沙子需要有一种方法,当玩家站在沙子上时它会掉下来。在 javascript 中从 foreach 循环中运行特定于沙子对象的方法的最佳方法是什么?

布拉德伍兹

我只会在 forEach 中使用 if 语句。例如:

const playerPosition = ...
const arrayOfBlocks = [ ... ]
arrayOfBlocks.forEach(block => {
    if (block.type === 'sand' && playerPosition === block.position) {
         block.fall() 
    } 
})

另一种方法是只过滤类型和位置。例如:

const playerPosition = ...
const arrayOfBlocks = [ ... ]

arrayOfBlocks
    .filter(block => block.type === 'sand')
    .filter(block => block.position === player.position)
    .forEach(block => black.fall())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章