반응형
Vanilla Javascript:
function DoPropertiesExist(parent, propertyNames, operator, isArray){
let checkAND = true
let checkOR = false
propertyNames.forEach(prop => {
//If Property exists
console.log(prop)
if (Object.prototype.hasOwnProperty.call(parent, prop) && parent[prop] != null) {
if (isArray) {
if (parent[prop].length == 0) checkAND = false
else checkOR = true
} else checkOR = true
} else {
checkAND = false
}
})
if (operator == "AND") return checkAND
else if (operator == "OR") return checkOR
}
parent에 검사하고 싶은 object,
propertyNames에는 확인하고 싶은 propertyNames들을 배열로 (ex: ["prop1","prop2","prop3"])
operator에는 "AND" 나 "OR"을
isArray에는 해당 property가 array인지 아닌지를 true / false로 넣어주면 빈 배열이 들어왔을 경우 걸러줍니다.
typescript 버전:
function DoPropertiesExist(parent: any, propertyNames: string[], operator: "AND" | "OR", isArray: boolean = false): boolean {
let checkAND = true
let checkOR = false
propertyNames.forEach(property => {
//If Property exists
if (Object.prototype.hasOwnProperty.call(parent, property) && parent[property] != null) {
if (isArray) {
if (parent[property].length == 0) checkAND = false
else checkOR = true
} else {
checkOR = true
}
} else {
checkAND = false
}
})
if (operator == "AND") return checkAND
else if (operator == "OR") return checkOR
}
반응형
'개발' 카테고리의 다른 글
협업의 기본! Git 대표 전략 Git flow (0) | 2023.04.30 |
---|---|
Rust가 도대체 뭐야? (+ Rust ownership 설명) (0) | 2023.04.30 |
쓸데없는 보안프로그램 삭제해주는 프로그램- 구라제거기/Hoax Eliminator (0) | 2020.04.11 |
Float형이 저장된 비트를 출력해주는 코드 (0) | 2019.04.20 |
Windows 컴퓨터 자동종료 프로그램 (0) | 2019.04.13 |