Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查多维数组中是否至少有一个元素?(愚蠢的基本Javascript问题)_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

如何检查多维数组中是否至少有一个元素?(愚蠢的基本Javascript问题)

如何检查多维数组中是否至少有一个元素?(愚蠢的基本Javascript问题),javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,如何检查数组中是否至少有一个元素?(我想验证数组是否为空。) 抱歉这个愚蠢的问题,我已经在谷歌上花了太多时间。。。(谷歌只返回复杂的情况和解决方案。我的问题似乎太简单了。) 编辑:好的,但是像[,[],[],[],,,]这样的数组会发生什么?就我而言,它应该被认为是空的 编辑2:抱歉,伙计们,给你们带来困惑!起初,我甚至不知道自己到底在找什么。谢谢大家! 你也可以在这里使用真实性。这将帮助您同时检查未定义的。[]是falsy,因此您可以这样做: var arr = []; if(!arr) {

如何检查数组中是否至少有一个元素?(我想验证数组是否为空。)

抱歉这个愚蠢的问题,我已经在谷歌上花了太多时间。。。(谷歌只返回复杂的情况和解决方案。我的问题似乎太简单了。)

编辑:好的,但是像[,[],[],[],,,]这样的数组会发生什么?就我而言,它应该被认为是空的


编辑2:抱歉,伙计们,给你们带来困惑!起初,我甚至不知道自己到底在找什么。谢谢大家!

你也可以在这里使用真实性。这将帮助您同时检查未定义的。[]是falsy,因此您可以这样做:

var arr = [];

if(!arr) {
  ... arr is undefined or empty array
} else {
  ... arr has at least one value
}

你也可以在这里使用真实性。这将帮助您同时检查未定义的。[]是falsy,因此您可以这样做:

var arr = [];

if(!arr) {
  ... arr is undefined or empty array
} else {
  ... arr has at least one value
}

这将满足您的新要求:

function isEmpty(arr) {
    if (!Array.isArray(arr)) {
        return false;
    }

    return arr.every(isEmpty);
}
它的作用:借助于
Array.prototype.each
它检查剩下的每一项是否为空数组。而阵列孔会被
.every()
自动跳过

参考资料:


    • 这将满足您的新要求:

      function isEmpty(arr) {
          if (!Array.isArray(arr)) {
              return false;
          }
      
          return arr.every(isEmpty);
      }
      
      它的作用:借助于
      Array.prototype.each
      它检查剩下的每一项是否为空数组。而阵列孔会被
      .every()
      自动跳过

      参考资料:



      使用数组长度属性。如果大于0,则有一个元素可能与
      array.length>0和&array[0]重复。length>0
      (尽可能多的维度重复)为什么有
      多维数组
      标记?你能举一个数组结构的例子吗?@user2005218谢谢使用数组长度属性。如果大于0,则有一个元素可能与
      array.length>0和&array[0]重复。length>0
      (尽可能多的维度重复)为什么有
      多维数组
      标记?你能举一个数组结构的例子吗?@user2005218 ThanksWrong,
      []
      是真实的。在你的浏览器控制台上试试看。那不是真的<代码>[]为真,
      [1]
      太奇怪了:[]==true为真false@user3191461在JS中,“真实”并不意味着“等于
      true
      ”错误,
      []
      是真实的。在你的浏览器控制台上试试看。那不是真的<代码>[]为真,
      [1]
      太奇怪了:[]==true为真false@user3191461在JS中,“truthy”并不意味着“等于
      true
      ”,这只适用于第二维度,对吗?有没有关于如何到达第三、第四或第五维度的线索?@Emilio它是递归的,可以在任何深度工作
      isEmpty([,,[,[],[,[],,[[[]]],,,])//true
      这只适用于第二个维度,对吗?有没有关于如何到达第三、第四或第五维度的线索?@Emilio它是递归的,可以在任何深度工作
      isEmpty([,,[,[,[],[],,[[[]]]],,,])//true