javascript - 如何检查仅包含空对象 [{}] 的数组

标签 javascript

我有一个变量,如下所示。

let response = [
 {}
];

这是一个包含空对象的数组。我应该进行什么样的检查以确定此响应是否与此完全相同。即,

[{}] === response; // returns false

如果响应是 [{}],我想要一个返回 false 的检查,我该怎么做。

已经有关于堆栈溢出的问题,询问如何检查空对象。我的问题是如何检查带有空对象的数组。完全不同。这不是任何问题的重复。

最佳答案

首先检查它是否是一个数组,用Array.isArray,然后检查.length看它是否是一个,然后检查第一个元素是否为空对象(typeofObject.keys().length === 0)。这样您就可以非常确定这就是您想要的。

另一种选择是使用 json:JSON.stringify(response) ==== '[{}]'。请注意响应中的循环依赖。

关于javascript - 如何检查仅包含空对象 [{}] 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47908779/

相关文章:

javascript - 向此函数传递参数不起作用?

javascript - 使用 javascript 在 JSON 上未正确分配 URL

javascript - 这个递归函数在 JavaScript 中究竟是如何工作的?

javascript - ISP注入(inject)广告导致js无法正常运行

javascript - 为什么我的按键命令不起作用

javascript - 使用 Javascript 过滤字符串中的正则表达式

javascript - Angular 2 : SyntaxError: Unexpected token <

javascript - 了解 IFrame 内的网页(位于 HTA 中)何时完成加载

javascript - Plone 的标题图片来源?

javascript - 在注入(inject)脚本中以编程方式获取 chrome 扩展 ID