我有resultant
array
这样,
[["apple","banana"],[],[],[],["kiwi"],[],[]]
如何删除所有空的[]
array
,以便我的resultant
array
看起来像这样:
[["apple","banana"],["kiwi"]];
var array = [["apple","banana"],[],[],[],["kiwi"],[],[]];// sample array
答案 0 :(得分:7)
使用Array.prototype.filter
过滤掉空数组 - 请参阅下面的演示:
var array = [["apple","banana"],[],[],[],["kiwi"],[],[]];// sample array
var result = array.filter(e => e.length);
console.log(result);
在ES5中,您可以省略上面使用的箭头功能:
var array = [["apple","banana"],[],[],[],["kiwi"],[],[]];// sample array
var result = array.filter(function(e) {
return e.length;
});
console.log(result);
答案 1 :(得分:2)
使用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));
答案 2 :(得分:2)
@kukuz回答的ES5兼容代码。
var array = [["apple","banana"],[],[],[],["kiwi"],[],[]];// sample array
var result = array.filter(function(x){return x.length});
console.log(result);
答案 3 :(得分:1)
使用以下代码:
var newArray = array.filter(value => JSON.stringify(value) !== '[]');