javascript 使用Lodash查找对象中未定义属性的数量

btxsgosb  于 2023-08-02  发布在  Java
关注(0)|答案(2)|浏览(96)
let x =    {
      "name": undefined,
      "value": "tr",
      "prop1": undefined,
      "prop2": "test",
      "prop3": 123
    };

字符串
我需要找到未定义的属性的数量,因此在本例中为2。

osh3o9ms

osh3o9ms1#

使用常规JS:
好的评论指出,我们确实可以立即过滤;更高效:

Object.values(x).filter(v=> v === undefined).length

字符串
关于Lodash

_.filter(x, (v, k) => v === undefined).length

vof42yt1

vof42yt12#

您可以使用_.countBy()来获取一个对象(counts),该对象包含一个值在原始对象(data)中出现的次数。然后,您可以从counts对象中获取undefined值的数量:

const data = { "name": undefined, "value": "tr", "prop1": undefined, "prop2": "test", "prop3": 123 };

const counts = _.countBy(data);

console.log(counts);

console.log(counts.undefined);

个字符

相关问题