소개
이 랩에서는 JavaScript 를 사용하여 JSON 객체에 대상 값이 존재하는지 확인하는 방법을 살펴봅니다. hasKey() 함수를 사용하여 객체의 키를 순차적으로 확인하여 대상 값이 있는지 확인할 것입니다. 이 랩은 JavaScript 에서 JSON 객체를 사용하는 방법에 대한 더 나은 이해를 제공할 것입니다.
이 랩에서는 JavaScript 를 사용하여 JSON 객체에 대상 값이 존재하는지 확인하는 방법을 살펴봅니다. hasKey() 함수를 사용하여 객체의 키를 순차적으로 확인하여 대상 값이 있는지 확인할 것입니다. 이 랩은 JavaScript 에서 JSON 객체를 사용하는 방법에 대한 더 나은 이해를 제공할 것입니다.
JavaScript 객체에 대상 값이 존재하는지 확인하려면 hasKey 함수를 사용하십시오.
이 함수는 두 개의 인수를 받습니다: 검색할 JSON 객체인 obj와 확인할 키의 배열인 keys. 객체에 주어진 키가 있는지 확인하는 단계는 다음과 같습니다.
keys 배열이 비어 있지 않은지 확인합니다. 비어 있다면 false를 반환합니다.Array.prototype.every() 메서드를 사용하여 keys 배열을 반복하고 obj의 내부 깊이까지 각 키를 순차적으로 확인합니다.Object.prototype.hasOwnProperty() 메서드를 사용하여 obj가 현재 키를 가지고 있지 않거나 객체가 아닌지 확인합니다. 이 조건 중 하나라도 참이면 전파를 중단하고 false를 반환합니다.obj에 할당합니다.keys 배열이 성공적으로 반복되었다면 true를 반환합니다.다음은 hasKey 함수의 코드입니다.
const hasKey = (obj, keys) => {
return (
keys.length > 0 &&
keys.every((key) => {
if (typeof obj !== "object" || !obj.hasOwnProperty(key)) return false;
obj = obj[key];
return true;
})
);
};
다음은 hasKey 함수를 사용하는 몇 가지 예입니다.
let obj = {
a: 1,
b: { c: 4 },
"b.d": 5
};
hasKey(obj, ["a"]); // true
hasKey(obj, ["b"]); // true
hasKey(obj, ["b", "c"]); // true
hasKey(obj, ["b.d"]); // true
hasKey(obj, ["d"]); // false
hasKey(obj, ["c"]); // false
hasKey(obj, ["b", "f"]); // false
축하합니다! 객체가 키를 가지고 있는지 확인하는 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.