somebody && everybody
저번 포스팅에 리스트 데이터 형식은 배열이 좋다는 말을 했었는데, 오늘 포스팅할 함수도 배열에 사용할 수 있는 함수입니다. 오늘은 두 가지의 함수를 비교하면서 알아보려고 합니다.
SOME vs EVERY
이 두 가지의 함수는 배열 안에 값을 검증하는 용도로 자주 쓰이는데 살펴보도록 하겠습니다.
1. some
배열 안에 있는 값들을 순회하면서 TRUE인 값이 하나라도 있으면 순회를 멈추고 함수는 TRUE를 리턴하고 종료됩니다. some이라는 단어에 어울리게 무엇인가 하나라도 있으면 참이 되는 함수입니다. 만약 참이 안 나오면 마지막 값까지 순회를 하고 끝까지 TRUE가 없으면 함수는 FALSE를 리턴하고 종료됩니다.
let numbers = [ 1, 2, 3, 4, 5 ]
// example 1
let result = numbers.some(function(value) {
console.log(value)
return false
})
console.log(`result is ${result}`)
// 결과
// 1
// 2
// 3
// 4
// 5
// result is false
// example 2
let result = numbers.some(function(value) {
console.log(value)
if ( value === 3 ) {
return true
}
return false
})
console.log(`result is ${result}`)
// 결과
// 1
// 2
// 3
// result is true
배열 안에 어떤 값이 하나라도 존재하는지 확인하는 함수로 리턴 타입은 BOOLEAN입니다. 하나라도 있으면 TRUE를 리턴하는 게 간절함이 느껴지는 함수네요.
1. every
배열에 있는 값 중에 하나라도 FALSE가 있으면 FALSE를 리턴하고 종료됩니다. 모든 값이 TRUE여야만 함수가 TRUE를 리턴합니다. 모든 값이 참이어야만 참을 리턴하는, 모든 값이 조건을 만족하는지 체크하는 용도로 자주 쓰입니다.
let numbers = [ 1, 2, 3, 4, 5 ]
// example 1
let result = numbers.every(function(value) {
console.log(value)
return true
})
console.log(`result is ${result}`)
// 결과
// 1
// 2
// 3
// 4
// 5
// result is true
// example 2
let result = numbers.every(function(value) {
console.log(value)
if ( value === 3 ) {
return false
}
return true
})
console.log(`result is ${result}`)
// 결과
// 1
// 2
// 3
// result is false
중간에 만족하지 않는 값이 하나라도 있으면 FALSE를 리턴하고 종료됩니다. every라는 단어에 걸맞게 모든 값의 통일을 중시하네요. All or nothing! 극단적인 함수입니다.
이번 포스팅에서는 some과 every함수를 다뤄보았습니다. 배열에서 사용할 수 있는, 값을 검증하는데 유용한 함수였습니다. 다음에는 값을 검증하는 것이 아닌 값을 찾는데 필요한 함수를 포스팅할게요!
내가 쓰는거 한 번쯤은 정리해보고 싶었다.
'기록일지 > Javascript' 카테고리의 다른 글
[Javascript] 리스트 데이터는 배열이 좋다! (0) | 2020.11.29 |
---|---|
[Javascript] Array에서 slice, splice 비교 (0) | 2020.10.22 |