JSFiddle - React, Tailwind, and code Playground
by Nicolas PUJOL
JavaScript
function checkNestedFast(obj /*, level1, level2, ... levelN*/) {
for (var i = 1; i < arguments.length; i++) {
if (!obj.hasOwnProperty(arguments[i])) {
return false;
}
obj = obj[arguments[i]];
}
return true;
}
var CONST = {
'TEMPLATE_SUPPORTED_OPTIONS': {
'TEMPLATE_1': {
'slider': {
'NO_OF_PROD_1': ['160x600', '300x250', '300x600', '728x90', '120x600', '468x60', '970x250'],
'NO_OF_PROD_2': ['160x600', '300x250', '300x600', '728x90', '120x600', '970x250']
},
'slider-thumbnails': {
'NO_OF_PROD_1': ['160x600', '300x250', '300x600', '728x90', '120x600', '970x250']
}
},
'TEMPLATE_2': {
'slider': {
'NO_OF_PROD_1': ['160x600', '300x250', '300x600', '728x90', '120x600', '468x60', '970x250'],
'NO_OF_PROD_2': ['160x600', '300x250', '300x600', '728x90', '120x600', '970x250']
},
'fade': {
'NO_OF_PROD_1': ['160x600', '300x250', '300x600', '728x90', '120x600', '468x60', '970x250'],
'NO_OF_PROD_2': ['160x600', '300x250', '300x600', '728x90', '120x600', '970x250']
}
}
},
};
console.log(checkNestedFast(CONST.TEMPLATE_SUPPORTED_OPTIONS, 'TEMPLATE_1', 'slider', 'NO_OF_PROD_1')); // true