Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

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