【发布时间】:2021-09-26 20:54:46
【问题描述】:
我以这种方式检查数组是否包含值:
testArray.includes(value)
如果数组为空或包含该值,我需要执行相同的操作。所以我有这个条件:
if (testArray == [] || testArray.includes(value)) {
// do something
}
但typescript 正在尝试执行此条件的第二部分,即使testArray == [] 也是如此。所以我收到一个错误testArray.includes is underfined。
我知道我可以这样解决:
if (testArray == []) {
// do something
} else if (testArray.includes(value)) {
// do the same thing
}
但它看起来不太好。 有没有办法把它合二为一?
testArray 是一个 openapi 查询参数,如果它很重要的话。
【问题讨论】:
-
testArray == []将始终为假。请参阅:Why doesn't equality check work with arrays 和Why isn't [1,2,3] equal to itself in Javascript? 此外,如果您得到testArray.includes is underfined,那么您没有空数组,您有某种不是数组的值。可能是一个物体。
标签: arrays typescript