【发布时间】:2019-07-22 03:28:57
【问题描述】:
我有一个 map 函数,它在某些情况下会给我带来很多具有不同值的字符串(在 map 函数之前,我也有一个 filter 函数)。
第一:我确定返回是字符串,因为我console.log(typeof thing.name) 它返回给我,嗯,字符串。
在某些情况下,它给我带来了很多字符串,而在另一些情况下,它什么也没给我带来,因为返回取决于过滤器。
问题是:当过滤器没有给我带来任何结果时,控制台日志不打印任何内容。我知道,这是有道理的。但是我正在尝试创建一个条件,当过滤器返回 0/none/nothing 结果时,它会返回类似“undefined, null, false/true”的内容。有可能的?
我有类似的东西:
filteredOffers.map(offer => {
if(offer.name === "" || offer.name === null || offer.name === undefined) {
console.log("Test test test")
} else {
return (
<p>{offer.name}</p>
)
}
})
【问题讨论】:
-
什么都没有记录时
offer是什么? -
您的问题对我来说很清楚,IMO 缺乏相关代码来帮助您。请提供Minimal Reproducible Example
-
也许
filteredOffers是一个空数组并且.map永远不会运行? -
如果过滤器没有返回任何结果,那么地图为什么会运行?
-
我不认为
.map()是适合这项工作的工具,因为它总是返回一个与原始数组长度相同的数组。您将在数组中获得undefined"holes"。
标签: javascript