使用 JavaScript 编程时,你可能需要知道如何检查数组是否为空。

你可以使用 .length 属性来检查一个数组是否为空。

length 属性设置或返回数组中元素的数量。通过知道数组中元素的数量,你可以知道它是否为空。空数组内部将包含 0 个元素。

让我们来看一些例子。

.length 示例语法

Const myArray = [‘Horses’, ‘Dogs’, ‘Cats’];

在这里,我们创建一个指向空数组的变量。

使用 length 属性,我们可以检查数组的长度:

myArray.length

这将返回 3,因为数组中有 3 个元素。

我们可以通过三种方式使用 .length 检查数组是否为空。

.length 示例一

首先,我们创建一个没有任何元素的新数组。

const arr = []

现在,我们可以用 .length 检查数组是否为空。

arr.length

这将返回 0,因为数组中有 0 个元素。

.length 示例二

if (arr.length === 0) { console.log("Array is empty!") }

如果数组为空,则上面的消息将被打印出来。如果数组中包含元素,则 if 语句中的代码将不会运行。

下面是使用 .length 检查数组是否为空的第三种方法。

.length 示例三

通过结合使用 length 属性和 JavaScript 中的逻辑 “非” 运算符 “!” 符号,我们可以检查数组是否为空。

! 运算符使表达式取反。也就是说,如果数组为空,我们可以使用它返回 true

对于这个示例,我们打开 JavaScript 控制台。点击 Inpsect(检查)-> Console,在 Chrome 中打开控制台。

首先,创建一个没有元素的数组。

image

接下来,让我们使用逻辑“非”运算符以及 .length 属性来测试数组是否为空。

Screen-Shot-2020-09-30-at-5.29.35-PM

如果没有使用“非”运算符,则 arr.length 将返回 0。添加了该运算符后,如果其操作结果为 false,则它将返回 true。因为 arr.length 为 0 或 false,所以它返回 true

让我们将其与 if 语句一起使用。如果我们的数组为空,则输出一条消息。

image-2

在检查数组是否为空时,通常最好还检查该数组是否确实为数组。

为什么?

因为在某些情况下,你可能希望检查数组的长度,但是你却在对其他数据类型进行操作,例如字符串:

image-7

因为 length 属性可以用于其他数据类型,所以最好检查一下数组是否确实是你期望的数组。

我建议你也使用 Array.isArray() 方法来确认你的数组是一个数组。如果传入的是数组,则此方法将返回 true

让我们将此方法添加到示例中。

如何使用 Array.isArray() 方法

image-3

小结

在本文中,我们了解到可以在 JavaScript 中以各种方式使用 length 属性来检查数组是否为空。length 属性返回数组中的元素数量。

我们还了解到,最好在使用 length 属性时也使用 Array.isArray 方法,以检查传递的值是否是你所期望的数组。

原文:How to Check if a JavaScript Array is Empty or Not with .length,作者:Madison Kanna