[Javascript] Array Method(4) - slice, some, every

안셩·2024년 8월 2일

복습내용

목록 보기
11/27

이전에 올린 글들을 한 번 더 복습하자면,

배열 API = 배열이 가지고 있는 메서드
함수: 호출의 주체가 없는 것( method1() )
메서드: 호출의 주체가 있는 것( obj.method1() )
ex) forEach, map, filter, find, sort

1) slice

  • 인자로 함수가 아닌 인자 2개를 갖는다.

  • arr.slice(a, b)
    : 배열의 a번째 요소부터 b번째 요소 전까지 반환

    ```const arr = [30, 1, 2, 5, 40];
    let slicedArr = arr.slice(2, 4);
    console.log(slicedArr); // [2, 5]
배열의 두 번째 위치에 있는 요소는 2, 네 번째 위치에 있는 요소는 40이므로 40보다 앞까지의 요소를 배열로 반환

2) some

  • 논리합(||)과 같음
  • 조건에 만족하는 값이 하나라도 있으면 true, 없으면 false를 나타냄
  • 배열메서드
  • 인자로 함수를 갖는다.(=콜백함수)
  • return문에 조건이 들어감.

예제) 30살 이상인 사람이 한 명이라도 존재하는지 some을 이용하여 나타내시오.

const people = [
    {
      name: "홍길동",
      age: 21,
    },
    {
      name: "홍길순",
      age: 30,
    },
  ];

답) 한 명이라도 있기 때문에 결과가 true 이다.

const result = people.some(function (person) {
	return person.age >= 30;
}
console.log(result); // true

3) every

  • 논리곱(&&)과 의미가 같음
  • 전체가 조건에 만족할 때 true를 나타냄
  • some 과 every는 사용방법 100% 똑같음.
    - 배열메서드
    - 인자로 함수를 갖는다.(=콜백함수)
    - return문에 조건이 들어감.

some과 같은 예제로 살펴보자.

예제) people 배열에 모두가 30살 이상인지 every 메서드를 사용하여 나타내시오.

const people = [
    {
      name: "홍길동",
      age: 21,
    },
    {
      name: "홍길순",
      age: 30,
    },
  ];

답) 두 명 중 한 명만 30살 이상이기 때문에 결과가 false 이다.

const result = people.every(function (person) {
	return person.age >= 30;
}
console.log(result); // false
profile
24.07.15 프론트엔드 개발 첫 걸음

0개의 댓글