개발중 list에서 원하는 타입이 없으면 알림을 알리는 방법을 고민하고 있었다
let task_type_ck = true;
readTaskData.data.tasks.forEach(item => {
if(!modalPathList[item.task_type]){
task_type_ck= false;
return;
}
});
if(!task_type_ck){
alert("modalPathList에서 찾을 수 없는 task_type이 있습니다");
return;
}
그래서 위와 같이 배열을 순외 하면서 값을 검증 한뒤 알림을 띄우는 방식으로 제작 했었다.
하지만 마음에 들지 않아 검색을 해보았는데 every라는 메서드를 발견했다.
every메서드는 배열의 모든 요소가 특정 조건을 만족하는지 확인하는데 사용한다.
모든 요소가 조건을 만족하면 true를 반환하고, 하나라도 만족하지 않으면 false를 반환한다.
그래서 every는 조건에 맞지 않는 요소를 발견하는 즉시 실행을 멈추고 false를 반환하기 때문에
내가 제작한 코드에 적용이 가능할 것으로 보였다.
const isValid = readTaskData.data.tasks.every(item => {
if (!modalPathList[item.task_type]) {
alert("data상에 modalPathList에서 찾을 수 없는 task_type이 있습니다");
return false;
}
return true;
});
적용을 해보았더니 가독성이 확실히 좋아진 걸 확인할수 있다
추가적으로 every메서드는 조건에 맞지 않는 요소를 발견하면 즉시 false를 반환하므로 불필요한 연산을 방지할 수 있어 성능도 챙길 수 있었다..
'프론트' 카테고리의 다른 글
텍스트 무지개 애니메이션 (1) | 2024.11.27 |
---|---|
쉘 스크립트 - 변수 (0) | 2024.11.14 |
새로고침 단축키 차단 (0) | 2024.02.13 |
<FORM> submit 시 input type=text 인 모든 공백 확인 (0) | 2024.02.02 |
댓글 공백만 입력 했을 때 확인 (0) | 2024.01.31 |