如何删除数组中的所有空数组

我有这样的resultant array

 [["apple","banana"],[],[],[],["kiwi"],[],[]] 

我怎样才能删除所有的空[] array以便我的resultant array看起来像这样:

 [["apple","banana"],["kiwi"]]; var array = [["apple","banana"],[],[],[],["kiwi"],[],[]];// sample array 

使用Array.prototype.filter过滤掉空的数组 – 参见下面的演示:

 var array = [["apple","banana"],[],[],[],["kiwi"],[],[]];// sample array var result = array.filter(e => e.length); console.log(result); 

使用Array.prototype.filter()来获得一个新的过滤数组:

 var array = [["apple","banana"],[],[],[],["kiwi"],[],[]]; var newArr = array.filter(function(obj){ return obj[0] !== undefined; }); console.log(JSON.stringify(newArr, 0, 0)); 

@kukuz的ES5兼容代码回答。

 var array = [["apple","banana"],[],[],[],["kiwi"],[],[]];// sample array var result = array.filter(function(x){return x.length}); console.log(result);