본문 바로가기

프로그래밍/[javascript] 자바스크립트

[javascript] Array some()과 every() method

by GenieIT* 2024. 10. 31.

728x90
728x90

 

1. Array some() 메서드

  • JavaScript의 some 함수는 배열(Array) 객체에서 사용하는 메서드로, 배열의 요소 중 하나라도 주어진 조건을 만족하는지 확인할 때 사용됩니다.
  • some 메서드는 콜백 함수를 인수로 받으며, 배열의 각 요소에 대해 해당 함수가 참(truthy)인지 확인합니다. 하나라도 참인 경우에는 true를 반환하고, 모든 요소가 거짓(falsey)일 경우에는 false를 반환합니다.

 

1-1. 기본 문법

  • callback: 각 배열 요소에 대해 실행할 함수입니다. 이 함수는 아래와 같은 매개변수를 가집니다.
  • element: 현재 처리 중인 배열 요소입니다.
  • index (선택): 현재 요소의 인덱스입니다.
  • array (선택): some 메서드를 호출한 배열 자체입니다.
  • thisArg (선택): 콜백 함수에서 this로 사용할 값입니다.
  • 반환값 : 배열의 요소 중 하나라도 콜백 함수에서 true를 반환하면 true, 그렇지 않으면 false를 반환합니다.
array.some(callback(element, index, array), thisArg)

 

1-2. 기본 예제

1-2-1. 배열에 짝수가 하나라도 있는지 확인하기

const numbers = [1, 3, 5, 7, 8];
let returnValue = numbers.some(num => num % 2 === 0);

 

1-2-2. 배열의 모든 요소가 조건을 만족하지 않을 때

const numbers = [1, 3, 5, 7];
let returnValue = numbers.some(num => num > 10);

 

1-2-3. 객체 배열에서 조건 확인하기

const users = [
  { name: "Alice", active: false },
  { name: "Bob", active: true },
  { name: "Charlie", active: false }
];

let returnValue = users.some(user => user.active);

 

1-2-4. callback 함수 매개변수 확인하기

const numbers = [1, 3, 5];
numbers.some((num, idx, arr) => {
	console.log("매개변수1:" + num, "매개변수2:" + idx, "매개변수3:" + arr);
});

 

2. Array every() 메서드

  • JavaScript의 every 함수는 배열의 모든 요소가 주어진 조건을 만족하는지 확인할 때 사용하는 배열 메서드입니다.
  • every 메서드는 콜백 함수를 인수로 받으며, 배열의 각 요소에 대해 해당 함수가 참(truthy)을 반환하는지 검사합니다.
  • 모든 요소가 조건을 만족하면 true를 반환하고, 하나라도 조건에 맞지 않으면 즉시 false를 반환합니다.

 

2-1. 기본 문법

  • callback: 각 배열 요소에 대해 실행할 함수입니다. 이 함수는 다음과 같은 매개변수를 가집니다.
  • element: 현재 처리 중인 배열의 요소입니다.
  • index (선택): 현재 요소의 인덱스입니다.
  • array (선택): every 메서드를 호출한 배열 자체입니다.
  • thisArg (선택): 콜백 함수 내에서 this로 사용할 값입니다.
  • 반환값 : 배열의 모든 요소가 콜백 함수의 조건을 만족하면 true, 하나라도 만족하지 않으면 false를 반환합니다.
array.every(callback(element, index, array), thisArg)

 

2-2. 기본 예제

2-2-1. 모든 숫자가 양수인지 확인하기

const numbers = [1, 3, 5, 7];
let returnValue = numbers.every(num => num > 0);

 

2-2-2. 조건을 만족하지 않는 요소가 있는 경우

const numbers = [1, -3, 5, 7];

let returnValue = numbers.every(num => num > 0);

 

2-2-3. 객체 배열에서 조건 확인하기

const users = [
  { name: "Alice", active: true },
  { name: "Bob", active: true },
  { name: "Charlie", active: true }
];

let returnValue = users.every(user => user.active);

 

2-2-4. callback 함수 매개변수 확인하기

const numbers = [1, 3, 5];
numbers.every((num, idx, arr) => {
	console.log("매개변수1:" + num, "매개변수2:" + idx, "매개변수3:" + arr);
    return true; // Loop를 계속 반복하기 위해 사용
});

 

3. some()과 every() 메서드의 차이점

  • some: 배열 요소 중 하나라도 조건을 만족하면 true를 반환합니다. 즉, 연산자 OR의 개념과 같습니다.
  • every: 배열의 모든 요소가 조건을 만족해야 true를 반환합니다. 즉, 연산자 AND의 개념과 같습니다.

 

 

 

 

 

728x90