유정잉

자바스크립트 .some() 과 .every() 본문

개발자 공부/✏️ 자바스크립트 공부

자바스크립트 .some() 과 .every()

유정♡ 2025. 5. 8. 13:40

✅ 1. .some() — "하나라도 통과하면 true"

🔹 문법

array.some(callback)
  • 배열 안에 하나라도 조건을 만족하면 true, 아니면 false

🔹 예시 1: 숫자 중에서 10보다 큰 값이 있는지?

const numbers = [3, 7, 11, 2];

const hasBigNumber = numbers.some(n => n > 10);
console.log(hasBigNumber); // ✅ true (11 있음)

🔹 예시 2: 참가자 중에 관리자(admin)가 있는지?

const users = [
  { name: "유정", role: "user" },
  { name: "철수", role: "admin" },
  { name: "민수", role: "user" }
];

const isAdminPresent = users.some(user => user.role === "admin");
console.log(isAdminPresent); // ✅ true

✅ 2. .every() — "전부 만족해야 true"

🔹 문법

array.every(callback)
  • 배열의 모든 요소가 조건을 만족해야 true, 하나라도 아니면 false

🔹 예시 1: 모든 숫자가 양수인지?

const scores = [90, 100, 85];

const allPositive = scores.every(score => score > 0);
console.log(allPositive); // ✅ true

🔹 예시 2: 모든 회원이 로그인 상태인지?

const members = [
  { name: "지훈", isLoggedIn: true },
  { name: "예지", isLoggedIn: true },
  { name: "철수", isLoggedIn: false }
];

const everyoneLoggedIn = members.every(m => m.isLoggedIn);
console.log(everyoneLoggedIn); // ❌ false (철수가 로그아웃)

✅ .some() vs .every() 비교 요약

항목 .some() .every()
의미 하나라도 조건 만족하면 true 전부 조건 만족해야 true
빈 배열이면 항상 false 항상 true
사용 예 "감청 중인 사람 있나?" "모두 로그인했나?"

 


✅ 배열 없이도 실전 예제처럼 써보기

// participants 중 monitor 역할이 있는 사람 있나?
const isMonitoredNow = participants.some(p => p.mediaRoles?.includes("monitor"));

// 모든 프로젝트가 완료됐나?
const allDone = projects.every(p => p.status === "complete");
728x90