如何将多个 Javascript 语句条件与 "OR" 确认一起使用

How to use multiple Javascript statement conditions with an "OR" confirm

我有以下函数包含 javascript 中的条件。

function dosomething(id, action) {
    if (action != 'delete' || confirm("Are you sure?")) {
         alert('if action equals delete, then it has been confirmed'); 
         // long lines of code executed here. 
    }
} 

在上面的函数条件中,它检查 action 是否不等于 "delete"。如果它等于删除,它会在继续之前给出确认。但我想添加另一个值以及 "delete",其中 "Are you sure?" 消息 shows/needs 确认。

我无法执行此操作,我尝试了以下方法。

if ((action != 'delete' || action != 'report') || confirm("Are you sure?")) { ...

我想做的是,如果操作 == 删除或报告,确认消息应该弹出。

我不想写两个不同的if语句(如下图),因为有很多代码需要确认后执行,这将是一种不好的做法。

if (action != 'delete' || confirm("Are you sure?")) {

然后

if (action != 'report' || confirm("Are you sure?")) {

谢谢

做这样的事情可能会更清楚,减少缩进和仔细阅读布尔逻辑的需要:

function dosomething(id, action) {
  if (action === 'delete' || action === 'report') {
    if (!confirm("Are you sure?")) return;
  }
  // long lines of code executed here.
}

可能

那样把它写在一张支票上
if ((action === 'delete' || action === 'report') && !confirm("Are you sure?")) return;

但 IMO 的可读性较差。