微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在对象中查找空值和空值并在计数器javascript中更新

如何解决在对象中查找空值和空值并在计数器javascript中更新

我有以下对象,并且我想计算对象中的空值或null并在该对象的属性计数器中对其进行更新。

例如我有这个下面的对象。

var userData = {
  firstName: "Eric",lastName: null,age: "",location : "San francisco",country: "USA",counter: 0
}

遍历此对象的结果将使我们知道lastName和age为空或为null,因此应更新计数器:2指示2个字段为空。

obj userData = {
  firstName: "Eric",counter: 2
}

我该如何实现?

解决方法

您可以使用Set过滤对象的值,以存储所有被认为是空的值。

const userData = {
  firstName: "Eric",lastName: null,age: "",location : "San francisco",country: "USA",counter: 0
};
const emptyValues = new Set(["",null,undefined]);
userData.counter = Object.values(userData).filter(x => emptyValues.has(x)).length;
console.log(userData);

我们可以使用reduce代替filter来最大程度地减少内存使用。

const userData = {
  firstName: "Eric",undefined]);
userData.counter = Object.values(userData).reduce((acc,curr) => acc + emptyValues.has(curr),0);
console.log(userData);

,

您可以使用函数Objec.values访问对象的值,并使用函数Array.prototype.reduce计算空值。

const userData = {  firstName: "Eric",counter: 0},emptyValues = ["",null];
      
userData.counter = Object.values(userData).reduce((r,c) => r + emptyValues.includes(c),0);
console.log(userData);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。