如何检查多维数组中是否至少有一个元素?(愚蠢的基本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()
自动跳过
参考资料:
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