❌ 아직 해결되지 않은 궁금증이 있는 게시물
문제 설명
정수 배열 [ number ] 가 매개변수로 주어지고 이 [ numbers ] 의 각 원소에 두 배한 원소를 가진 배열을 return 하도록 solution 함수를 완성해보자.
# 내가 처음 짠 코드
function solution(numbers) {
return numbers.map(n => n*2);
}
# 다른 사람들의 번뜩이는 코드 방식(1)
→ map() 함수에 push ()까지 사용 함.
# 다른 사람들의 번뜩이는 코드 방식(2)
✔️사용한 함수
① map( )
배열에 있는 값들을 원하는 방식으로 변환 및 활용하고 싶을 때 사용합니다.
각각 요소의 값에 연산자를 이용해서 값을 변경 할 수도 있고 필요한 부분만도 가져올 수 있는 듯 합니다..?
② push( )
배열의 마지막에 새로운 요소를 추가한 후, 변경 된 배열의 길이를 반환 합니다. - 기존의 배열을 수정합니다.
const animals = [ 'pigs', 'cats', 'dogs'];
const count = animals.push('cows');
console.log(animals); // ['pigs', 'cats', 'dogs', 'cows'];
console.log(count); // 4
💡animals의 배열에 요소가 추가가 된 것을 알 수가 있고, count는 변경된 배열의 길이를 반환해줌.
🖍️더 나아가기🖍️
① Array.prototype.push.apply( 배열1, 배열2 ) : 배열 합치기!
배열 1과 배열2를 합치기 위해 ( 배열 2의 요소들을 push하는 것 ) apply( )를 사용한다. ※ 두 배열을 합치기 위해서는 각 배열의 최대 개수에는 제한이 있으니 주의
이 apply( )함수는 call ( )과 거의 유사하지만 call ( )은 함수에 전달된 " 인수 리스트 : 객체 "를 받는데 비해, apply ( )는 "인수들의 단일 배열"을 받습니다.
apply () 메서드는 주어진 'this'값과 배열로 제공되는 arguments로 함수를 호출.
→ func.apply ( thisArg; 영향 받을 배열 이름? - 없으면 null로 표현 , [argsArray; 적용할 배열 이름 ] )
const numbers = [ 5, 6, 2, 3, 7 ] ;
const max = Math.max.apply(null, numbers);
console.log(max); // 7 제일 큰 수 반환
const min = Math.min.apply(null, numbers);
console.log(min); // 2 제일 작은 수 반환
②
✳️참고 링크 :
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 입문] (0) | 2023.04.28 |
---|---|
❌[JS] 배열 평균 값 구하기 : reduce(), for..of문 (0) | 2023.01.14 |
[JS] 짝수 구하기 : (0) | 2022.12.24 |
❌ [JS] 각도기 : filter( ) (0) | 2022.12.23 |
[JS] 나이 출력 : Date( ).getFullYear( ) (0) | 2022.12.11 |