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