Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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检查多维数组是否存在键_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

Javascript检查多维数组是否存在键

Javascript检查多维数组是否存在键,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,您好,我需要检查三维json数组,现在我像这样检查它 if(events[dd][mm][rr] !== undefined){} 但如果钥匙不存在,那我就错了类型错误:事件[dd]未定义 我需要一些JS函数来检查这个条件是否存在,以及TypeError的throught错误。谢谢。您必须检查每个嵌套命名空间。如果以后需要更深入地检查映射,也可以根据需要编写递归函数 if (events[dd] && events[dd][mm] && events[dd][m

您好,我需要检查三维json数组,现在我像这样检查它

if(events[dd][mm][rr] !== undefined){}
但如果钥匙不存在,那我就错了<代码>类型错误:事件[dd]未定义


我需要一些JS函数来检查这个条件是否存在,以及TypeError的throught错误。谢谢。

您必须检查每个嵌套命名空间。如果以后需要更深入地检查映射,也可以根据需要编写递归函数

if (events[dd] && events[dd][mm] && events[dd][mm][rr] !== undefined) {}

也许可以用这样的方式:

function mdArrayExists(arr, var_args) {
    for (var i=1, k=arguments.length; i<k; ++i) {
        if (!arr || !arr.hasOwnProperty(arguments[i])
            return false;
        arr = arr[arguments[i]];
    }
    return true;
}

我与这家公司没有任何关系,但每当我需要进行数组搜索工作时,我都会使用库来进行搜索,因为它有一系列用于快速查找数据的函数,如果我必须自己迭代数组,那么性能方面的开销似乎会更好

if (mdArrayExists(events, dd, mm, rr) ...