Array.map()과 오늘 내가 사용한 방식을 정리한다.(2023.01.18)
Array.map()는 배열의 모든 요소에 작성한 함수를 적용한 결과를 모아서 반환한다.
자세한 설명보다는 내가 오늘 어떤 상황에서 어떻게 사용했는지를 정리하겠다.
자세한 설명은 MDN을 참고하자MDN의 Array.map()설명
new Array(n).fill(1)map((num,i)=>{
return (i+num)*x
})
정리:map((num,i)=>{return (i+num)x})에서 인자로 num,i를 넣었는데 num은 현재요소에 해당하고,i는 현재인덱스에 해당한다.
그리고 return하는것은 (i+num)x의 결과값은 인덱스값과 요소의 합에 x를 곱한 값이다.
이 값을 기존의 배열에 다시 순서대로 모은다.
const answer =commands.map((el)=>{
const result = array.slice(el[0]-1,el[1]).sort((a,b)=>{return a-b
})
여기서는 상황1과 달리 매개변수에 하나만 작성했다. 이때는 현재 처리할 요소만 가져오게 된다.
추가 예)
const arr1=[[1,2],[2,3]]
const arr2=[[3,4],[5,6]]
return arr1.map((a,i) => consolr.log(a),a.map((b, j) => b + B[i][j]));
(2023.01.30)
arr1과 arr2의 각x번째,y번째(x,y는 정수) 요소를 더해서 반환해야 하는 상황이었다.
위 예의 결과는 [[4,6],[7,9]]이다. 배열의 요소에 각 함수를 적용해서 다시 배열을 반환해야하는 경우이다. 이럴때 반복문을 사용할 수도 있지만 map을 이용할수도 있다.
이번상황에서는 map을 두번이용하게 되었는데 이유는 arr1의 요소가 배열이기 때문이다.
이런식으로 사용할 수 도 있음을 알아두자.