lwc 中 javascript set.has 的问题

issue with javascript set.has in lwc

我正在尝试在 Lightning Web 组件中使用 set.has(),但似乎无法正常工作。

下面是代码片段..

sStatusToVerify = 'Complete';
var setStatusVals = [...new Set(this.lstAllData.map(obj => obj.sStatus))];
console.log('setStatusVals  : ',setStatusVals);
console.log('Contains?? : ' ,setStatusVals.has(sStatusToVerify));

setStatusVals 控制所有值,它包含“完成”。但是,根本不会打印下一个控制台。它应该理想地打印 true。不确定为什么这不起作用。

这里有什么问题?

您的解决方案的问题是,您正在使用扩展运算符 [... new Set()] 将集合转换回数组,而数组没有 has 方法。因此问题

var sStatusToVerify = 'Complete';

var arr=[{sStatus:'Complete'},{sStatus:'Start'},{sStatus:'InProgress'}];

var setStatusVals = new Set(arr.map(obj => obj.sStatus));

console.log(setStatusVals.has(sStatusToVerify));