✅ Map
map(callback함수(요소, 인덱스, 배열)
// 첫 글자가 m인 단어의 수 구하기
const fruits = ["apple", "banana", "mango", "orange", "blueberry", "melon", "strawberry"];
let sum = 0;
fruits.map(item => {
if (item[0] == 'm') sum++;
});
console.log(sum); // 2
fruits에서 아이템들을 하나씩 가져오고, 그 아이템의 첫 번째 글자(item[0])이 'm'이라면 sum에 값 하나씩 추가
➕ reduce와 결합
let sum = fruits.map((item) => item[0]=='m').reduce((total, num) => total+num);
console.log(sum); // 2
reduce 전에 map을 통해 [false, false, true, false, false, true, false] 배열이 출력
암시적 형변환으로 인해 false는 0, true는 1의 값으로 true에 해당하는 값이 더해져 2가 출력
➕ 객체에서 map 활용
const students = [
{
name: "john",
studentId: 2020634693,
major: "business",
},
{
name: "amy",
studentId: 2018346294,
major: "english",
},
{
name: "crush",
studentId: 2019257383,
major: "science",
},
];
students.map(item => {
if (item.name === "amy") {
item.major = "computer science";
}
});
console.log(students);
반응형
'IT Study > JavaScript' 카테고리의 다른 글
DOM 요소 변형 - insertBefore(), removeChild() (0) | 2023.08.31 |
---|---|
[JS] HTMLCollection vs NodeList (0) | 2023.08.31 |
[JS] 중첩배열 1차원 배열로 만들기(reduce 메서드, 전개문법) (0) | 2023.08.31 |
[JS] Object.values(), reduce(), find(), filter() 메서드 (0) | 2023.08.25 |
[JS] 전개문법(+배열 복사, rest 파라미터), Splice() 메서드 (0) | 2023.08.25 |