2015-10-26 64 views
0

您好,我需要檢查3 - 維JSON數組,現在我檢查一下這樣的Javascript檢查多維數組,如果項中是否存在

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

但如果鍵不存在,它拋出的我一個錯誤。 TypeError: events[dd] is undefined

我需要一些JS函數來檢查這個條件是否存在,以及TypeError的錯誤。謝謝。

回答

2

您必須檢查每個嵌套的名稱空間。如果需要的話,你也可以寫一個遞歸函數,如果你以後要更深入地查看地圖的話。

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

也許使用這樣的:

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) ... 
0

我與這家公司沒有隸屬關係,但每當我需要做陣列搜索工作中,我使用因爲它有很多快速查找數據的功能,並且性能似乎更好呃關於開銷然後如果我必須自己遍歷數組。

相關問題