在过滤器函数中使用变量作为键名

Using a variable as a key name inside a filter function

试图找出如何在过滤器函数中使用变量作为键名。

对象数组示例:

const data = [{"itemID": 11, "Complete": true, "Started": true},{"itemID": 16, "Complete": false, "Started": false}];

条件语句:

if(isStartMode){
    const currentMode = 'Started'
  } else {
    const currentMode = 'Complete'
  }

变量

var possible_ItemID = 16;

过滤函数

const lineItem = data.filter((item) => item.itemID === possible_ItemID && item.{currentMode} !== true)

console.log(lineItem)

我正在寻找一种方法来切换“Started”或“Complete”,其中显示 {currentMode},而不必为每个单独的硬编码语句:item.Started 或 item.Complete

我在语法中缺少一些东西...

好吧,我应该这样做 - 使用 [],并在 if 语句之外声明变量。

var currentMode;
if(isStartMode){
    currentMode = 'Started'
  } else {
    currentMode = 'Complete'
  }

const lineItem = data.filter((item) => item.itemID === possible_ItemID && item[currentMode] !== true)