我有一个变量
var test = [[[]]]
我想知道是否有一种简单的方法可以看出它是否为空。虽然它在技术上不是空的,但对我的实例来说它是空的。有没有办法检查这个?
答案 0 :(得分:2)
你可以深度压扁阵列:
var flatten = function(xs) {
var out = [].concat.apply([], xs)
return xs.some(Array.isArray) ? flatten(out) : out
}
var isEmpty = function(xs) {
return !flatten(xs).length
}
isEmpty([[[]]]) //=> true
isEmpty([[[]], [[]]]) //=> true
答案 1 :(得分:0)
var arr = [[], [], []];
var isEmpty = arr.filter(function (arr) { return arr.length != 0; }).length === 0;
// isEmpty == true
var arr = [[], [], [1,2,3]];
var isEmpty = arr.filter(function (arr) { return arr.length != 0; }).length === 0;
// isEmpty == false