测试JavaScript中是否存在嵌套的JavaScript对象键

假设我们有一个对象的引用-

let test = {};

该对象可能(但不是立即)具有嵌套对象,例如-

test = {level1: {level2: {level3: "level3"}}};

我们需要编写一个JavaScript函数,该函数将一个这样的对象作为第一个参数,然后将任意数量的字符串作为参数。

函数应确定对象中是否存在由键字符串描述的嵌套组合。

示例

为此的代码将是-

const checkNested = function(obj = {}){

   const args = Array.prototype.slice.call(arguments, 1);

   for (let i = 0; i < args.length; i++) {

      if (!obj || !obj.hasOwnProperty(args[i])) {

         return false;

      }

      obj = obj[args[i]];

   };

   return true;

}

let test = {

   level1:{

      level2:{

         level3:'level3'

      }

   }

};

console.log(checkNested(test, 'level1', 'level2', 'level3'));

console.log(checkNested(test, 'level1', 'level2', 'foo'));

输出结果

控制台中的输出将是-

true

false

以上是 测试JavaScript中是否存在嵌套的JavaScript对象键 的全部内容, 来源链接: utcz.com/z/321592.html

回到顶部