Cha*_*ika 3 javascript is-empty
我有一个对象,其键可以具有可以是对象、字符串或数组的值。
const obj = {
key1: 'asdf',
key2: {},
key3: ['a','b','c'],
key4: [],
key5: '',
}
Run Code Online (Sandbox Code Playgroud)
我必须过滤所有空的键,即空对象、空数组或空字符串。
typeof除了根据键编写条件然后检查 null之外,还有其他方法吗?
只需使用 Object.keys()
if (Object.keys(something).length) console.log("Not empty");
Run Code Online (Sandbox Code Playgroud)
这适用于所有字符串、数组,当然还有对象。
您可以查看 Object.keys 文档以获取更多详细信息,特别是示例部分和非对象强制部分,其中指出:
Run Code Online (Sandbox Code Playgroud)// 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']
和
在 ES5 中,如果该方法的参数不是对象(原语),那么它将导致 TypeError。
从 ES2015 开始,非对象参数将被强制为对象。
Run Code Online (Sandbox Code Playgroud)// In ES5 Object.keys('foo'); // TypeError: "foo" is not an object // In ES2015+ Object.keys('foo'); // ["0", "1", "2"]
| 归档时间: |
|
| 查看次数: |
2649 次 |
| 最近记录: |