개발일지

다양한 배열 메소드 본문

TIL

다양한 배열 메소드

박수미/ 2024. 5. 20. 20:44

📌  find

배열에서 조건(return 우측의 연산자)에 만족하는 가장 먼저 발견된 것 하나를 찾아내는 메소드

 

👇🏻 사용방법

const numbers = [22, 5, 43, 7, 13];

const num = numbers.find((num) => {
  return num > 30;
});
console.log(num); // 43

num이 30보다 클 때라는 조건을 넣어주고 콘솔로 찍어보았을 때 43이 나오는 걸 알 수 있습니다.

* numbers의 배열 인덱스 0번부터 num으로 들어가 맞는 조건을 찾아줍니다.

 

📌  filter

배열에서 조건에 만족하는 요소만 필터링해주는 메소드

 

👇🏻 사용방법

const ages = [12, 33, 27, 8];

const result = ages.filter((age) => {
  return age > 20;
});
console.log(result); // 33, 27

20살 이상의 나이만 보고 싶을 때 filter함수를 이용할 수 있습니다.

 

📌  map

map은 forEach와 같이 전체 배열에 접근하여 반복문을 실행합니다. 하지만 가장 큰 다른 점은 map함수는 새로운 배열을 만들어준다는 특징이 있습니다. 그래서 리액트에서는 불변성을 지켜주기 위해 forEach를 사용하지 않고 map을 사용합니다.

 

👇🏻 사용방법

const numbers = [1, 2, 3, 4, 5];

const result = numbers.map((num) => {
  return num * 3;
});
console.log(result); // [3, 6, 9, 12, 15]

map함수에서는 원본 배열의 원소와 일대일 mapping이 진행되기 때문에 원본 배열과 mapping후 배열의 길이는 항상 같습니다.

 

📌  sort

배열의 정렬을 가능하게 해주는 메소드

 

👇🏻 사용방법

const numbers = [2, 4, 1, 5, 3];
numbers.sort();

console.log(numbers); // [1, 2, 3, 4, 5]

기존의 배열을 변경시켜 정렬합니다.

 

오름차순, 내림차순 정렬 방법

// 오름차순
numbers.sort((a, b) => {
	return a - b 
});

// 내림차순
numbers.sort((a, b) => {
	return b - a
});

 

객체 나이로 내림차순 정리하기

const daysix = [
  {
    name: "박성진",
    age: 31,
    gender: "남",
  },
  {
    name: "김원필",
    age: 29,
    gender: "남",
  },

  {
    name: "강영현",
    age: 31,
    gender: "남",
  },

  {
    name: "윤도운",
    age: 28,
    gender: "남",
  },
];

daysix.sort((a, b) => {
  return b.age - a.age;
});

console.log(daysix);

'TIL' 카테고리의 다른 글

간단한 todolist만들기로 useState 연습하기  (0) 2024.05.29
Context API 사용방법  (0) 2024.05.27
setTimeout()과 setInterval()  (0) 2024.05.16
TIL 2024.05.10  (0) 2024.05.10
TIL 2024.05.09  (0) 2024.05.09