仅当对象的所有子项都是真实的时候才从对象返回true

时间:2017-08-02 16:18:35

标签: javascript lodash

我有一个对象有时可以将属性(或Immutable.map)作为未定义返回。

(2) [Map, undefined]

我希望这个父对象只有当两个项都是Maps时才是true的布尔值。目前,

let hasLocation = Lodash.overEvery(obj.mapData.toArray())

然后再

hasLocation(2)

似乎是最好的选择,但只有当两者都未定义且overEvery的例子似乎非常薄时才会返回真实。我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

你不需要lodash:

const noUndefineds = hasLocation.every(item => item !== undefined);

如果你知道只有undefined s会有假,你可以缩短为:

const noUndefineds = hasLocation.every(Boolean); // all items are truthy values.