강의를 듣다가 저번에 정리한 내가 문제 풀 때 map에 대해서 다시 사용해봤다
function solution(emergency) {
let copySort = [...emergency].sort((a, b) => b - a)
let emergency2 = [...emergency]
copySort.map(function (v, i) {
let idx = emergency.indexOf(v)
return emergency2[idx] = i + 1
})
return emergency2;
}
이렇게 복잡하지만 map로 값과 인덱스를 같이 받아서 그것을 인자로 다른 배열에 영향을 줄 수있다 평소에 화살표 함수로 사용하지만 이번엔 function으로 처리해야 한다 map() 인자를 받아 콜백을 반복하면서 리턴값으로 다른 영향을 주기 위해서 사용했다 일반적으로 새로운 배열을 반환하는 용도와는 다르다
그리고 emergency2를 사용한 이유는 처음에 원본 배열을 바꾸니까 그 배열을 사용하고 있는 다른 곳에도 다 영향이 가더라
'오늘 뭐했냐 > 기억하면 좋을 문제들' 카테고리의 다른 글
대소문자 반대로 (0) | 2023.06.14 |
---|---|
숫자야구 (0) | 2023.06.14 |
배열의 앞 뒤 추가 제거 (0) | 2023.06.14 |
정해진 수의 반복 (0) | 2023.06.14 |
이차원 배열 만들기 splice(), slice()차이 (0) | 2023.06.14 |