🙌문제설명
길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
☑️나의 풀이
function solution(str1, str2) {
let result = [];
for(let i = 0; i < str1.length; i++){
result += str1[i]+str2[i];
}
return result;
}
❓다른 사람 풀이
str1 value + str2[idx] 반복, 문자열로 변환
function solution(str1, str2) {
return [...str1].map((x, idx)=> x+str2[idx]).join("");
}
☑️배운 점
map 메서드
배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환. for문 대신 많이 사용함
배열일 경우
const arr = [1,2,3];
const res = [];
//기존 for문 [2,4,6]
for(let i = 0; i<arr.length; i++){
res.push(arr[i] * 2);
}
//map 메서드 [2,4,6]
const res1 = arr.map((value) => value * 2);
//[0,1,2]
const res2 = arr.map((value, index) => index);
객체일 경우
const item = [{id: 1, name: 'dat'}, {id: 2, name: 'dara'}]
//name 삭제
const result = item.map((item) => {
return {id: item.id}
});