개체에 Javascript의 배열에 모든 키가 포함되어 있는지 확인
예를 들어,
firstName
, lastName
및 age
가 완료하려는 작업에 모두 필요한 배열에서 다음 개체를 수신한다고 가정합니다. 예를 들어let obj = {
firstName: Jack,
lastName: Doe,
age: 123
}
console.log(`${obj.firstName} ${obj.lastName} is ${obj.age}`);
배열에서
obj
의 데이터를 수신하는 경우 해당 속성이 제공될 것이라고 신뢰할 수 있지만 API가 변경되면 문제에 직면할 수 있습니다. API 개발자는 age
또는 기타 속성을 제거하거나 firstName
를 first_name
로 이름을 바꿀 수 있습니다. 최상의 시나리오에서는 키가 정의되지 않게 됩니다. 최악의 경우 오류가 발생하고 애플리케이션이 중단될 수 있습니다.이를 방지하기 위해 개체에 필요한 키가 있는지 확인할 수 있습니다.
개체에 배열의 모든 키가 포함되어 있는지 확인하는 방법
이 문제에 대한 솔루션은
every()
를 사용합니다. every()
는 배열의 모든 요소를 검사하고 논리적 검사를 수행하는 배열 메서드입니다. 모두 true를 반환하면 every()
메서드가 true를 반환합니다.객체가 배열의 모든 키를 포함하는지 확인하려면 확인하려는 모든 키의 배열에서
every()
를 사용합니다. 그렇게 하면 각 요소가 존재하는지 논리적으로 확인할 수 있고 거짓이면 다른 작업을 수행하여 오류 발생을 방지할 수 있습니다.let requiredKeys = [ 'firstName', 'lastName', 'age' ]
let obj = {
firstName: Jack,
lastName: Doe,
age: 123
}
let checkAllKeys = requiredKeys.every((i) => obj.hasOwnProperty(i));
if(checkAllKeys) {
console.log(`${obj.firstName} ${obj.lastName} is ${obj.age}`);
}
else {
console.log('The API does not have all the keys required. Please check API and configuration')
}
여기에서
firstName
, lastName
및 age
의 필수 키 배열을 만듭니다. 그런 다음 every()
를 사용하여 해당 배열의 각 항목을 살펴봅니다. every()
에서 함수를 실행합니다. 여기서 i
는 반복되는 현재 항목입니다. obj
에 i
속성이 있는 경우 every()
는 해당 특정 항목에 대해 true를 반환합니다.모든 항목이 true를 반환하면
every
가 전체적으로 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 따라서 checkAllKeys
가 참이면 필요한 모든 키가 있다고 확신할 수 있습니다. 그렇지 않으면 콘솔 로그 오류와 같은 다른 작업을 수행할 수 있습니다.
Reference
이 문제에 관하여(개체에 Javascript의 배열에 모든 키가 포함되어 있는지 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/smpnjn/check-if-an-object-contains-all-keys-in-array-in-javascript-3b0k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)