개발자 공부/✏️ 자바스크립트 공부
자바스크립트 .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