본문 바로가기

코딩도 합니다/JS

[자바스크립트 js] 배열 메소드 / some / every



안녕하세요.

디자인도 하고, 개발도 하는 '디발자 뚝딱'입니다.

 

이번 포스팅에서는 자바스크립트의 배열 메소드에 대해 알아보겠습니다.

배열 메소드 중에서도 some과 every에 대해 알아볼 건데요.

하나하나 차근차근 알아볼까요?

 

처음엔 some과 every의 공통점을 알아볼게요.

그 다음 각각의 특징을 알아보고, 예제를 보며 배열 메소드를 이해해봅시다.

 

아참, 코드 마지막에 '// 결과'로 적혀 있는 내용은 콘솔창에 보여지는 내용이니 참고해 주세요 :)

 

 

  some과 every 공통점

  • true 혹은 false 값만 리턴.
  • 메소드를 호출하는 배열이 빈 배열이면 callback 함수를 실행하지 않고, some은 false / every는 true를 리턴.

 

 

 

  some 특징

  • 배열 안에 콜백함수가 리턴하는 조건을 만족하는 요소가 1개 이상 있는지를 확인하는 메소드.
  • 배열을 반복하면서 모든 요소가 콜백함수가 리턴하는 조건을 만족하지 않는다면 false.
    콜백함수가 리턴한느 조건을 만족하는 요소가 하나라도 등장한다면 바로 true를 리턴하고 반복을 종료합니다.
  • 일부분이라도 조건을 만족하는 요소가 있는지 확인합니다.
const numbers = [1, 3, 5, 7, 9];

// some: 조건을 만족하는 요소가 1개 이상 있는지
const someReturn = numbers.some((element, index, array) => {
  console.log(index); // 콘솔에는 0, 1, 2, 3까지만 출력됨.
  return element > 5;
});

console.log(someReturn); // true;

 

 

 

  every 특징

  • 모든 요소가 조건에 만족하는지 확인하는 메소드.
  • 즉, 조건을 만족하지 않는 요소가 1개 이상 있는지 확인하는 메소드.
  • 모든 요소가 콜백함수가 리턴하는 조건을 만족한다면 true,
    조건을 만족하지 않는 요소가 등장한다면 false를 리턴하고 반복을 종료한다.

예제 1)

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

const someReturn = numbers.some((el) => el > 5);

const everyReturn = numbers.every((el) => el > 5);

console.log('some:', someReturn);
console.log('every:', everyReturn);


// 결과
// some: true
// every : false

 

예제 2)

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

const someReturn = numbers.some((el, i) => {
	console.log('some:', i);
    return el > 5;
});

const everyReturn = numbers.every((el, i) => {
	console.log('every:', i);
    return el > 5;
});


console.log('some:', someRetrun);
console.log('every:', everyReturn);


// 결과
// some: 0
// some: 1
// some: 2
// some: 3
// every : 0
// some: true
// every: false

 

728x90