我有一个数组数组。某些数组只包含一个空字符串。我想从父数组中删除所有这些内容。
在
[[ '*Order Number','*Line Number','*Item Number'],
[ '' ],
[ '018622','2','had-99']]
在
[[ '*Order Number','*Line Number','*Item Number'],
[ '018622','2','had-99']]
答案 0 :(得分:3)
你可以使用内置的Array#filter
。
var array = [[ '*Order Number','*Line Number','*Item Number'], [''], [ '018622','2','had-99']];
console.log(array.filter(function (a) { return a.toString(); }));

改变原始数组的版本。
var array = [[ '*Order Number','*Line Number','*Item Number'], [''], [ '018622','2','had-99']],
i = array.length;
while (i--) {
array[i].toString() || array.splice(i, 1);
}
console.log(array);

答案 1 :(得分:0)
我可能会检查数组只有长度为1且该项是空字符串
var list = [[ '*Order Number','*Line Number','*Item Number'], [''], [ '018622','2','had-99']];
list.filter(function(arr){
if(arr.length === 1 && arr[0] === '') {
return false;
}
return true;
}}
答案 2 :(得分:0)
更好的方法是使用Array#splice
,它会从父数组中删除指定的元素。
var arr = [[ '*Order Number','*Line Number','*Item Number'], [''], [ '018622','2','had-99']];
for (var i = 0; i < arr.length; i++) {
if (arr[i][0] == '' && arr[i].length == 1) {
arr.splice(i, 1);
--i;
}
}
console.log(arr);