TIL/기록

[TIL] React에서 map, filter로 문제풀어보기

developeryeon 2024. 1. 27. 01:48

 

 

 

 

map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아서 새로운 결과를 반환한다.

 

 

 

const students = [
		{ name: 'Alice', age: 17, grade: 'A' },
		{ name: 'Bob', age: 18, grade: 'B' },
		{ name: 'Charlie', age: 16, grade: 'C' },
		{ name: 'Diana', age: 19, grade: 'D' },
	];

// TODO: filter를 사용하여 18세 이상의 학생들만 선택해주세요.

const filteredArr = students.filter((student, index) => student.age >= 18);

// TODO: 학생이름을 클릭하면 나이와 점수가 alert 돼야한다.
 {filteredStudents = students.map((student) => (
 	<li key={index}>
    	<button onClick={() => alert(`나이: ${student.age}, 점수: ${student.grade}`)}></button>
    </li> ))}

 

 

 

 

map() 메서드 안에는 callback함수가 들어간다. 

배열 array에 있는 요소(num)들에 함수를 실행하고 나온 값(num * num)을 저장하여 새로운 배열(mapArray)로 만든다.

배열을 렌더링할 때, 각 요소에 고유한 식별자인 `key` prop을 제공하는 것이 권장된다.

`key` prop 은 배열의 각 요소에 고유해야하며, 변하지 않는 값을 사용하는 것이 좋다. 

 

여기서는 index를 key로 사용했지만, 사실 key보다는 고유한 ID값이 있다면 그 ID를 key로 사용하는 것이 더 좋다.