我当前正在使用数组 includes()
方法来过滤对象。例如。
products.filter((product) => (
product.tags.includes(someTag)
))
但是我希望有一些默认的 someTag
值始终返回 true - 基本上就是默认的“不过滤”值。但我就是想不出一个。等价物是 String.prototype.indexOf
中的空字符串,但我知道没有可比较的值。
如果 someTag 未定义,我当然可以根本不调用该函数,最好没有这个选项。 (我最肮脏的想法是使用 product.tags[0]
但这不适用于空数组并且不可重用。)
想法?或者这根本不可能。
最佳答案
没有这样的值(value)。
更改您的函数,以便它检查魔术值并且不调用includes
。
products.filter((product) => (
someTag === undefined || product.tags.includes(someTag)
))
关于javascript - Array.prototype.includes() (或 .indexOf())的参数总是返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44687242/