Notice
Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
관리 메뉴

함번보고 두번보고

[Javascript] Array.Map((v) => ???) 배열 요소 변환하기! 본문

Front-End/Javascript

[Javascript] Array.Map((v) => ???) 배열 요소 변환하기!

Hamstar_ 2020. 9. 25. 20:56

! 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

Comments