【发布时间】:2017-06-15 02:41:37
【问题描述】:
在编码时,我经常使用 JSON.stringify 检查数组是否为空
它一直有效,但我经常使用它,不知道是否适合使用 JSON.stringify 来检查数组是否为空。
例子:
var arr = [];
if(JSON.stringify(arr) == "[]"){
alert("Array is empty);
}
我的问题不是如何检查数组是否为空。 我问我使用它的方式是正确还是低效。
我知道有很多方法可以检查数组是否为空。
谢谢
【问题讨论】:
-
为什么不是 arr.length == 0?
-
这是检查数组是否为空的一种非常浪费的方法,尤其是当数组恰好很大时。使用
arr.length。 -
“我想知道这个方法是否也正确。如果它是错误的,我会更正我的代码。” - 你应该改用
arr.length不管什么其他方法可能会奏效,因为所有其他选择都更糟。 -
这不是错误的,因为它会为您提供正确的答案。然而,这是一种昂贵的实现方式。
-
来吧,伙计们,让我们坚持基础,不要混淆已经足够困惑的OP。
new Array(1)和[undefined]都不是空数组!一个空数组是其中包含 nothing、zero 个元素、zero 个槽、nothing 的数组。我们不能就此达成一致吗?是的,当我说new Array(1)和[undefined]相同,但两者都不是 empty 数组时,我说错了。
标签: javascript jquery arrays