Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用for循环或过滤器删除未定义的二维数组或置换数组_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

Javascript 使用for循环或过滤器删除未定义的二维数组或置换数组

Javascript 使用for循环或过滤器删除未定义的二维数组或置换数组,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,如何删除多维数组中的空值或null var arr = [ [ '', '', '', '', '', '', '', '', '', <2 empty items>, 'str' ], [ '', '', '', '', '', '', '', '', '', <2 empty items>, 'are' ] ] 我很想知道结果必须是use函数,这样我就可以再次使用它了这应该行得通。迭代初始数组,然后针对每个子数组删除空项 var arr=[['',''

如何删除多维数组中的空值或null

    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' ]
     ]