嘿,伙计们,我很小,需要一些帮助
if (query.deliveryType && query.deliveryType != DeliveryTypeEnum.EITHER) {
search.push({
terms: {
"deliveryType.keyword": [query.deliveryType, DeliveryTypeEnum.EITHER],
},
});
}传递类型是字符串数组。
and error is :This condition will always return 'true' since the types 'string[]' and 'DeliveryTypeEnum' have no overlap. typescirpt (2367)我在这里出错了,query.deliveryType && query.deliveryType != DeliveryTypeEnum.EITHER
发布于 2022-03-27 11:05:34
因为query.deliveryType是一个数组。您可以使用数组函数(如包括)。因此,如果您的传递类型数组没有包括这两个类型,那么您可以随心所欲。
所以你可以这么做:
if (query.deliveryType && !query.deliveryType.includes(DeliveryTypeEnum.EITHER)){
// Do what ever you want!
}您可以在以下链接中了解更多关于包含函数的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
发布于 2022-03-26 15:45:06
错误试图告诉您,if语句可能不是您希望它做的事情,因为变量query.deliveryType的类型已经表明它永远不会是DeliveryTypeEnum.EITHER。
https://stackoverflow.com/questions/71629389
复制相似问题