함번보고 두번보고
[Javascript] Array.Map((v) => ???) 배열 요소 변환하기! 본문
! Array의 map함수는 Array 내의 모든 요소를 순회하며 콜백함수를 거친 새로운 배열을 반환한다.
Number type을 가지고 있는 Array의 각 요소를 String type으로 변경하려 할 때
일반적으로 for문을 돌며 toString으로 바꿔왔지만,
Array.Map 함수와 Arrow function을 함께 사용하면 매우 간단하게 변경할 수 있다는 걸 발견했다.
1. Syntax
let new_array = arr.map(function callback( currentValue[, index[, array]]) {
// return element for new_array
}[, thisArg])
Parameters
callback 함수는 arr의 모든 요소를 호출하고, 매번 callback이 실행될 때 마다 반환되는 값을 new_array에 추가한다.
callback 함수는 다음과 같이 세가지의 인자를 받는다.
currentValue : 현재 배열에서 처리되는 요소
index | Optional : 현재 배열에서 처리되는 요소의 인덱스
array | Optional : map을 호출한 배열
thisArg | Optional : callback을 실행 할 때 this로 사용되는 값
Return Value
콜백 함수 결과의 요소 값이 들이있는 새 배열.
2. Example
문제.
프로그래머스의 “가장 큰 수”, 0 또는 양의 정수를 가진 배열이 주어졌을 때 정수를 이어붙여 만들 수 있는 가장 큰 수를 찾아라.
let arr = [4, 40, 54, 8, 7];
for (let i = 0; i < arr.length; i++) {
arr[i] = arr[i].toString();
}
let new_array = new_array.sort((a, b) => (b + a) * 1 - (a + b) * 1).join("");
// 8754440
↓↓↓
let arr = [4, 40, 54, 8, 7];
let new_array = arr.map((v) => v.toString())
let new_array = new_array.sort((a, b) => (b + a) * 1 - (a + b) * 1).join("");
// 8754440
'Front-End > Javascript' 카테고리의 다른 글
[javascript] Class vs Object.. 무슨 차이인고? (0) | 2021.03.05 |
---|---|
[regex] 철이 없었죠..정규식을 모르고 코딩하고있다는거 자체가.. (0) | 2021.03.03 |
[Javascript] Map객체의 Value 최댓값 구하기.(by reduce()) (0) | 2021.02.28 |
[Javascript] /\d/.test(c) 숫자판별하기! (0) | 2021.02.28 |
Comments