프로그래머스 문제를 풀던 중,
만약 [1,2,3] 이란 요소가 있으면 이것을 123(number)로 계산하라는 문제가 있었다.
처음엔 이걸 어떻게 접근을 해야하나 for문, 삼점문법을 써야하나 고민을 하다가 신기하면서도 가독성 좋은 방법을 알아냈다.
var odd = [2,4];
var even = [1,3,5];
var added_odd = odd.join("");
num_odd = Number(added_odd); // 24
var added_even = even.join("");
num_even = Number(added_even); // 135
console.log(num_odd + num_even); // 24 + 135
바로 join과 Number를 사용하는 것!
우선 왜 사용했는지를 각각 알아보도록 하자.
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// Expected output: "Fire,Air,Water"
📖 코드 출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join
join 메서드는 배열 안 요소들을 모두 묶어 1개의 string으로 변환해주는 기특한 녀석이였다...!
이렇게 되면 각각 [2,4]는 "24"로, [1,3,5]는 "135"로 변한다.
하지만 문제에서는 요소들을 합쳐서 return하라고 해서
저 상태로 합치면 24135....가 되기 때문에 여기서 Number로 각각의 string의 형을 변환시켜야 한다.
Number('123'); // 숫자 123을 반환
Number('123') === 123; // 참
📖 코드 출처 :
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number
굉장히 가독성 좋은 형변환 메서드인 Number...!
string을 바로 number로 바꿔주기 때문에 위에서 구한 [2,4]와 [1,3.5] 각각에 Number 메서드를 사용해주면 진정한 24와 135로 바뀐다.
메서드는 알면 알수록 참 편리하고 코딩을 편하게 도와주는 것 같다!
좋은 정보 감사합니다