gpt4 book ai didi

javascript - 如何判断一个变量是空对象、空数组还是空字符串?

转载 作者:行者123 更新时间:2023-12-05 01:56:35 27 4
gpt4 key购买 nike

我有一个对象,它的键值可以是对象、字符串或数组。

const obj = {
key1: 'asdf',
key2: {},
key3: ['a','b','c'],
key4: [],
key5: '',
}

我必须过滤所有为空的键,即空对象、空数组或空字符串。

除了根据键的 typeof 编写条件然后检查 null 之外,还有其他方法吗?

最佳答案

只需使用 Object.keys()

if (Object.keys(something).length) console.log("Not empty");

这适用于所有字符串、数组,当然还有对象。

您可以查看 Object.keys 文档以获取更多详细信息,特别是 examples部分和 non-object coercion部分,哪个州:

// simple array const arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// array-like object const obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']

In ES5, if the argument to this method is not an object (aprimitive), then it will cause a TypeError.

From ES2015 onwards, a non-object argument will be coerced to anobject.

// In ES5 Object.keys('foo');  // TypeError: "foo" is not an object

// In ES2015+ Object.keys('foo'); // ["0", "1", "2"]

关于javascript - 如何判断一个变量是空对象、空数组还是空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69786677/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com