登录
首页 >  文章 >  前端

Lodash统计对象undefined属性技巧

时间:2026-02-12 12:09:43 300浏览 收藏

怎么入门文章编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《Lodash 统计对象 undefined 属性方法》,涉及到,有需要的可以收藏一下

如何使用 Lodash 统计对象中值为 undefined 的属性数量

本文介绍如何高效统计 JavaScript 对象中值严格等于 undefined 的属性个数,涵盖原生方法与 Lodash 两种实现方式,并强调严格相等判断、避免类型误判等关键细节。

在实际开发中,我们常需分析对象状态——例如检测哪些字段尚未初始化(即值为 undefined)。注意:这不同于 null、空字符串、0 或 false,必须是严格意义上的 undefined。

以下是对给定对象的两种推荐方案:

✅ 原生 JavaScript(推荐,无依赖)
利用 Object.values() 提取所有属性值,再通过 filter() 筛选严格等于 undefined 的项,最后取长度:

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

const undefinedCount = Object.values(x).filter(v => v === undefined).length;
console.log(undefinedCount); // → 2

✅ Lodash 方式(语义清晰,兼容旧环境)
使用 _.filter(object, predicate) 遍历键值对,返回所有满足条件的值组成的数组,再取 .length:

const _ = require('lodash');

const undefinedCount = _.filter(x, (v, k) => v === undefined).length;
console.log(undefinedCount); // → 2

⚠️ 重要注意事项

  • 必须使用 === undefined(严格相等),避免 == undefined(会错误匹配 null);
  • 不要使用 v == null 或 v == undefined,否则会将 null 也计入;
  • _.countBy() 或 _.size(_.pickBy(x, _.isUndefined)) 虽可行,但性能较低且冗余;
  • Object.keys(x).filter(k => x[k] === undefined).length 同样有效,但 Object.values() 更直观简洁。

总结:若项目已引入 Lodash,可选用其 filter 方法以提升可读性;否则优先使用原生 Object.values().filter().length——简洁、高效、无需额外依赖。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Lodash统计对象undefined属性技巧》文章吧,也可关注golang学习网公众号了解相关技术文章。

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>