您好,我需要檢查3 - 維JSON數組,現在我檢查一下這樣的Javascript檢查多維數組,如果項中是否存在
if(events[dd][mm][rr] !== undefined){}
但如果鍵不存在,它拋出的我一個錯誤。 TypeError: events[dd] is undefined
我需要一些JS函數來檢查這個條件是否存在,以及TypeError的錯誤。謝謝。
您好,我需要檢查3 - 維JSON數組,現在我檢查一下這樣的Javascript檢查多維數組,如果項中是否存在
if(events[dd][mm][rr] !== undefined){}
但如果鍵不存在,它拋出的我一個錯誤。 TypeError: events[dd] is undefined
我需要一些JS函數來檢查這個條件是否存在,以及TypeError的錯誤。謝謝。
您必須檢查每個嵌套的名稱空間。如果需要的話,你也可以寫一個遞歸函數,如果你以後要更深入地查看地圖的話。
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) ...
我與這家公司沒有隸屬關係,但每當我需要做陣列搜索工作中,我使用因爲它有很多快速查找數據的功能,並且性能似乎更好呃關於開銷然後如果我必須自己遍歷數組。