ν•΄λ²„λ‹ˆ 2025. 3. 7. 18:35
λ°˜μ‘ν˜•

 

Array.prototype.every()

 

ν•¨μˆ˜μ˜ 이름 every()λ₯Ό 보면 좔츑을 ν•  수 μžˆλ‹€.

λ°°μ—΄μ˜ λͺ¨~λ“  μš”μ†Œκ°€ 주어진 쑰건을 λ§Œμ‘±ν•˜λŠ”μ§€ κ²€μ‚¬ν•˜λŠ” 것이닀.

- λͺ¨~두 λ§Œμ‘±ν•˜λ©΄ true λ°˜ν™˜

- ν•˜λ‚˜λΌλ„ λ§Œμ‘±ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ false λ°˜ν™˜

 

λ§Œμ‘±ν•˜μ§€ μ•ŠλŠ” μš”μ†Œλ₯Ό 찾으면 λ°”λ‘œ λ©ˆμΆ˜λ‹€ (뒀에 μžˆλŠ” μš”μ†Œλ“€μ„ 더 이상 κ²€μ‚¬ν•˜μ§€ μ•ŠλŠ”λ‹€.)

 
 
const arr = [true, true, false, true]; 
const result = arr.every(value => { // μ—¬κΈ°λΆ€ν„° 콜백 ν•¨μˆ˜
    console.log(value); 
    return value; 
}); // μ—¬κΈ°κΉŒμ§€ 콜백 ν•¨μˆ˜
// true 
// true 
// false 

console.log(result); // false
 

4번째의 trueλ₯Ό 더 이상 κ²€μ‚¬ν•˜μ§€ μ•Šκ³ , falseλ₯Ό λ§Œλ‚˜ 쑰건이 μΆ©μ‘±λ˜μ§€ μ•ŠλŠ”λ‹€λ©΄, μ¦‰μ‹œ μ’…λ£Œλœλ‹€.

 

 

 

 

 

예제 - 배열이 λΉ„μ–΄μžˆμ„ λ•ŒλŠ” true λ°˜ν™˜!

console.log([].every(el => el > 0)); // true

 

 

예제 - 객체 λ°°μ—΄μ—μ„œ νŠΉμ • 쑰건이 λ§Œμ‘±ν•˜λŠ”μ§€ 검사

const users = [
  { name: "minji", subscribed: true },
  { name: "haerin", subscribed: true },
  { name: "hani", subscribed: false }
];

const allSubscribed = users.every(user => user.subscribed);

console.log(allSubscribed); // false (haniκ°€ ꡬ독 μ•ˆ 함)

 

 

 

 

예제 - 배열이 μ•ˆμ˜ 값이 λͺ¨λ‘ μœ νš¨ν•œμ§€ 검사

const formValues = ["dovnaldisn", "dovnaldisn@example.com", "password123"];
const isFormValid = formValues.every(value => Boolean(value.trim()));

console.log(isFormValid); // true

 

const formValues = [" ", "dovnaldisn@example.com", "password123"];
const isFormValid = formValues.every(value => Boolean(value.trim()));

console.log(isFormValid); // false

 

 

 

λ°˜μ‘ν˜•