【问题标题】:Detect if List if Changes after Filter - Javascript检测过滤后是否更改列表 - Javascript
【发布时间】:2021-07-10 01:30:04
【问题描述】:

我需要检测使用filter 后列表是否发生变化。目前,我使用以下代码:

var bullets2 = bullets.filter((bullet) => {
    return (bullet[0] < 450)
})
if (bullets2.length != bullets.length) {
    bullets = bullets2
    update_user_pos()
}
bullets = bullets2

但这似乎不是很有效。有没有更好的方法来做到这一点?

【问题讨论】:

  • 什么对您来说似乎没有效率?您是否发现性能问题?
  • 即使列表没有改变,为什么你之后还要bullets = bullets2
  • @Bergi,很好。
  • @Pier-LucGendreau 我正在制作一款游戏,我想让它尽可能高效

标签: javascript list list-manipulation


【解决方案1】:

似乎这是最有效的方法,尽管@Bergi 指出我可以删除结尾bullets = bullets2

新代码:

var bullets2 = bullets.filter((bullet) => {
    return (bullet[0] < 450)
})
if (bullets2.length != bullets.length) {
    bullets = bullets2
    update_user_pos()
}

【讨论】:

    猜你喜欢
    • 2010-11-24
    • 2011-09-17
    • 2018-09-06
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 2020-02-12
    • 2015-01-13
    相关资源
    最近更新 更多