使用 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

更新日期:24-Nov-2020

825 浏览次数

开启你的事业

完成课程获得认证

开始
广告