当前位置: 首页 > 知识库问答 >
问题:

检查对象中的每个条目是否为null或未定义的智能方法

葛志国
2023-03-14

我有一个物体,看起来像这样:

{
  address: {
    street: undefined,
    country: 'GB'
  },
  givenname: 'Marko',
  surname: null,
}

我想知道是否所有字段都已设置,或者是否至少有一个字段为空。有没有比javascript更聪明/更简短的方法来点画his

address.street != null && address.country != null && givenname != null && surname != null

可能是这样的:

// this could return true or false?
nullCheck(address.street, address.country, givenname, surname)

共有3个答案

冀望
2023-03-14

您可以使用every方法,给定要检查的变量列表,并使用检查null的回调。

let address = {
    street: undefined,
    country: 'GB'
  },
  givenname = 'Marko',
  surname = null;

console.log([address.street, address.country, givenname, surname].every(e => e !== null))

surname = "blah"

console.log([address.street, address.country, givenname, surname].every(e => e !== null))
江浩慨
2023-03-14

第一个是实际的典型方法。如果你有打字,比如TypeScript,效果会很好。

第二个是相同的,但有一点开销(每次你进入/退出一个函数,adss都有一点开销),虽然只有当你有大量迭代时,开销才很小。您可以动态检测参数

const nullobj = {
    value1: "yay",
    value2: "",
    value3: 23,
    value4: null
};
const obj = {
    value1: "yay",
    value2: "",
    value3: 23,
    value4: "ok"
};

function checkArgumentsNull(...args) {
    for (let v of args) {
        if (v == null) {
            return true;
        }
    }
    return false;
}

console.log("nullobj:", checkArgumentsNull(nullobj.value1, nullobj.value2, nullobj.value3, nullobj.value4));
console.log("obj:", checkArgumentsNull(obj.value1, obj.value2, obj.value3, obj.value4));
公风史
2023-03-14

是的,有。可以使用对象数据类型和includes array方法,如下所示:

Object.values(your_object).includes(null)

如果您的对象至少包含一个null元素,这将返回true,如果它不包含任何null元素,则返回false。

此答案仅适用于1层深的对象。

对象文档Array.includes文档

 类似资料:
  • 让我们考虑下面示例中的一个场景,其中我想检查对象的值或,但它在尝试访问第二级对象()时抛出异常'无法读取未定义的属性b。 最终,我想访问,如何使用lodash检查值是否为“未定义”或“null”?是否有方法检查一系列值中的对象?

  • 获取错误。我尝试做多个选择,并更改第二个选择的数据与第一个选择的上更改材料表行。我正在使用Firebase。 当“store.Urunler”为null或未定义时,我会出现此错误。而且我的产品没有列在菜单项上,这意味着选择是空的,但state.products有数据 我怎样才能克服这个错误。我还想添加到Urunler,选择一个输入。我知道我应该为onChanges调用函数,但如果它起作用,我以后会

  • 我有一个数组,它由组成。我想对它进行迭代,并找到所有作为数组实例的元素。 如何在Swift中检查对象是否属于给定类型?

  • 问题内容: 说我的课很简单 我希望将此类s 的集合存储在People类的属性中,该属性是类型为Person的数组 也许我做到这一点如下 问题:请问我如何检查people.list是否包含实例alex? 我很想尝试的简单尝试 称一个错误 问题答案: 有两个功能: 编译器在抱怨是因为编译器知道不是,因此需要一个谓词,但不是谓词。 如果阵列中的人员是(不是),则可以使用: 由于它们不相等,因此可以将第二

  • 本文向大家介绍检查Java中的字符串是否为空(“”)或null,包括了检查Java中的字符串是否为空(“”)或null的使用技巧和注意事项,需要的朋友参考一下 要检查Java中的字符串是否为空或为空,请使用==运算符。 假设我们有以下字符串。 现在让我们检查两个字符串是否为null或为空。结果将为布尔值。 示例 输出结果

  • 问题内容: 有没有一种快速的方法来检查对象是jQuery对象还是本机JavaScript对象? 例: 显然,上面的代码有效,但并不安全。您可能会向对象添加选择器键并获得相同的结果。有没有更好的方法来确保该对象实际上是jQuery对象? 符合 问题答案: 您可以使用运算符: 说明 :该函数(又名)被实现为构造函数。构造函数将以前缀调用。 调用时,内部jQuery将此转换为1。JavaScript继续