Javascript 使用for循环或过滤器删除未定义的二维数组或置换数组
如何删除多维数组中的空值或nullJavascript 使用for循环或过滤器删除未定义的二维数组或置换数组,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,如何删除多维数组中的空值或null var arr = [ [ '', '', '', '', '', '', '', '', '', <2 empty items>, 'str' ], [ '', '', '', '', '', '', '', '', '', <2 empty items>, 'are' ] ] 我很想知道结果必须是use函数,这样我就可以再次使用它了这应该行得通。迭代初始数组,然后针对每个子数组删除空项 var arr=[['',''
var arr = [
[ '', '', '', '', '', '', '', '', '', <2 empty items>, 'str' ],
[ '', '', '', '', '', '', '', '', '', <2 empty items>, 'are' ]
]
我很想知道结果必须是use函数,这样我就可以再次使用它了这应该行得通。迭代初始数组,然后针对每个子数组删除空项
var arr=[['','','','','','','',未定义,未定义,'str'],['','','','','','',未定义,未定义,'are'];
var result=arr.map(el=>el.filter(item=>item!==undefined));
控制台日志(结果)代码>最快的方式(使用ES6):
var-arr=[
['','','','','','','','','',str'],
['','','','','','','','',是']
];
温度=[];
对于(让我考虑arr)
i和温度推送(i);
//将每个非空值复制到“temp”数组中
arr=温度;
删除临时文件;//丢弃变量
控制台日志(arr)代码>如果数组的维数可变,则可以递归删除这些项:
const arr=[
['',未定义,'str'],
['',未定义,'是'],
未定义
];
常量recursiveRemove=(filterFunction)=>
函数重现(arr){
返回数组.isArray(arr)
?arr.filter(filterFunction).map(重现)
:arr;
};
log(recursiveRemove((x)=>x!==未定义)(arr))代码>你的帖子很不清楚,请用一些输入和相应的预期输出来完成。定义“empty”。你所说的“数组值为空”或“null”是什么意思?如果你想删除空项目,那么为什么你需要输出为空?你的问题不清楚
[
[ '', '', '', '', '', '', '', '', '', 'str' ],
[ '', '', '', '', '', '', '', '', '', 'are' ]
]