在过滤器函数中使用变量作为键名
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)
试图找出如何在过滤器函数中使用变量作为键名。
对象数组示例:
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)