这个 forEach 的替代品

alternatives for this forEach

我有一些代码使用 forEach 遍历用户数组。在那个循环中,我再次使用 forEach 来遍历他们的价格警报。看起来像这样

  user_data.users.forEach((user, index) => {
    if (user.id == id) {
      user.price_alerts.forEach((alert, alert_index) => {
        if (alert.symbol == symbol) {
          //remove alert
          user.price_alerts.splice(alert_index, 1);
        }
      });
    }
  });

但是这个问题不是删除所有与 'SYMBOL' 的匹配,而是删除一个。 我该如何解决 ?提前致谢 <3

如果你需要删除所有不满足某些条件的元素,那么尝试使用filter方法:

let result = user.price_alerts.filter(alert => alert.symbol !== symbol);

更新:

user.price_alerts = user.price_alerts.filter(alert => alert.symbol !== symbol);