JavaScript 检查数组是否为空的函数

JavaScript 检查数组是否为空的函数

JavaScript提供了内置函数来检查数组是否为空。以下是JavaScript编程提供的用于检查空数组的方法:

  1. length
  2. isArray(array)

Array.isArray()函数 检查数组类型(传递的参数是否为数组),array.length函数用于获取数组长度。因此,我们可以轻松识别空数组。您可以分别使用它们。

现在,我们将详细学习这些方法并附带示例:

.length属性

length属性通过其返回数组的长度,您可以确定数组是否为空。此属性直接与数组的名称连接使用点(.)运算符, 例如,arr1.length

语法

array.length

如果该属性返回的长度为0,则表示数组为空。否则,如果返回的值为非零,则数组不为空。

如何使用?

它直接与由点(.)运算符连接的用户定义数组一起使用。请参考以下示例以更好地理解该属性。

<script> 
    var arr1 = [15, 78, 24, 89, 23];
    var arr2 = [];

    //check second array (arr2) length 
    if(arr1.length == 0)
       document.write("arr1 is empty <br>");
    else 
        document.write("arr1 is not empty <br>");

    //check second array (arr2) length 
    if(arr2.length == 0)
       document.write("arr2 is empty <br>");
    else 
        document.write("arr2 is not empty <br>");   
</script>

输出

在下面的输出中,你可以看到第一个数组被命名为 arr1不为空 ,因为它包含五个元素,而第二个数组被命名为 arr2为空

arr1 is not empty
arr2 is empty

Array.isArray()

JavaScript 中,数组实际上并不是数组,它们是对象。因此,如果用 typeof 属性检查数组的类型,它会返回一个值为 object 的结果。但现在我们有 Array.isArray() 函数来检查数组的类型,可以与 .length 属性一起用来检查空数组。

这个方法帮助确定你传入此函数的值是否为数组。我们可以说它识别数组类型或普通数据类型变量。它也可以确定未定义或空数组。

语法

Array.isArray(arr1)

它返回一个布尔值,只能是 truefalse

返回值

True – 如果返回 true ,则传入的值是一个数组。

False – 如果返回false,传入此函数的值不是数组类型。

如何使用?

此函数与数组的名称一起使用,例如 Array.isArray(arr1) 。在JavaScript示例中,我们将结合使用此函数的length属性来检查空数组。查看此函数在JavaScript示例中的实现以更好地理解。

示例

<script> 
    var arr1 = new Array('Happy', 'New', 'Year');

    //check the first variable (arr1) type and empty 
    if(Array.isArray(arr1)) {
       document.write("arr1 is an array");
       if (arr1.length == 0)
          document.write(" and it is empty <br>");
       else 
          document.write(" but it is not empty. <br>");
    }
    else
       document.write("arr1 is not an array. <br>");     
</script>

输出

在下面的输出中,您可以看到我们使用Array.isArray()函数检查的值是一个数组,但该数组不为空。

arr1 is an array but it is not empty.

示例2

在此示例中,我们将检查一个数组是否为空,以及另一个变量是否为非数组值。请参考以下代码:

<script> 
    var arr1 = [];
    var arr2 = "notAnArray";

    //check the first variable (arr1) type and empty 
    if(Array.isArray(arr1) == true){
       document.write("arr1 is an array");
       if (arr1.length <= 0)
          document.write(" and it is empty <br>");
       else 
          document.write(" and it is not empty. <br>");
    }
    else
       document.write("arr1 is not an array. <br>");

    //check the second variable (arr2) type and empty 
    if(Array.isArray(arr2) == true){
       document.write("arr2 is an array");
       if (arr2.length <= 0)
          document.write(" and it is empty as well. <br>");
       else 
          document.write(" and it is not empty. <br>");
    }
    else
       document.write("arr2 is not an array. <br>");

</script>

输出

在以下输出中,您可以看到第一个数组名为 arr1是一个空数组 ,因为它没有元素,而第二个变量名为 arr2不是一个数组

arr1 is an array and it is empty as well.
arr2 is not an array.

isArray()和.length属性

length属性和Array.isArray()函数可以在if条件语句中一起使用,并通过AND(&&)操作符连接。

语法

以下是isArray()和length属性如何一起使用的语法:

Array.isArray(arr1) && arr1.length

使用上面的语法与if-else条件来检查数组类型和空数组。

如何使用?

查看下面的示例,了解如何使用这两个函数来检查JavaScript中的空数组。

检查数组是否为空

您可以在这两个条件之间使用OR(||)运算符来检查数组是否为空。

if(Array.isArray(arr1) || arr1.length) {
    //
}

检查数组是否不为空

您可以使用相反的方法来检查数组是否不为空。为此,使用AND(&&)运算符来设定条件来检查数组是否不为空。

if(Array.isArray(arr1) && arr1.length) {
    //
}

示例1

现在,我们将在一个示例中使用此函数,以便更好地理解它。在这个示例中,我们检查了两个变量,看它们是否是数组类型。

<script> 
    var arr1 = [];
    var arr2 = [15, 78, 24, 89, 23];

    //check the first variable (arr1) type and empty 
    if(Array.isArray(arr1) == true && arr1.length <= 0)
       document.write("arr1 is an array and it is empty <br><br>");
    else 
          document.write("Either arr1 is not an array or it is not empty <br><br>");

    //check the second variable (arr2) type and empty 
    if(Array.isArray(arr2) == true && arr2.length <= 0)
       document.write("arr2 is an array and it is empty <br>");
    else 
          document.write("Either arr2 is not an array or it is not empty </br>");

</script>

输出

从下面的输出结果可以看出,arr1是一个空数组,而err2要么不是一个数组,要么不为空。

arr1 is an array and it is empty.
Either arr2 is not an array or it is not empty.

注意:获取精确结果的方式比较复杂且不够清晰。

Array.isArray() 与 .length

.length属性可以和其他数据类型(例如字符串)一起使用来获取长度。而Array.isArray()等方法只能用于数组数据类型,它还可以帮助确定你的数组是否为数组类型。

Array.isArray()方法较为冗长,因为我们首先需要确定变量是否为数组类型,然后再使用.length属性来检查空数组。

因此,我们建议您对于小计算直接使用.length属性来检查数组变量的长度并确定其是否为空。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程