
코드스테이츠 과제 코드를 공부 목적으로 변형 해서 정리 하였습니다.
🍀문제코드
✅문제
- 배열을 입력받아 짝수 번째 인덱스는 키, 홀수번째 인덱스는 값이 됩니다.
⛔주의
- 빈 배열을 입력 받은 경우, 빈 객체를 리턴해야 합니다.
- 입력으로 받는 배열을 수정하지 않아야 합니다
- 순서대로 0번째가 키, 첫번째가 값 ... 형태입니다.
- 0은 짝수에 포함됩니다.
- 배열의 길이가 홀수 이면 객체의 마지막 값이 비어지기 때문에 'empty!!'를 값으로 받습니다.
💬입출력 예시
let arr = ['jelly','one','cookie','two','candy','five','fruit'];
result = Solution(arr);
console.log(result); // --> {jelly:'one',cookie:'two',candy:'five',fruit:'empty!!'}
🍀해결코드
function Solution(arr){
/*
* 1. 빈 배열을 입력 받은 경우 빈 배열 출력
* 2. 변수에 빈 객체 생성
* 3. 받아온 배열의 길이가 홀수 일경우, 얕은 복사로 배열을 받고 가장 끝에 'empty!!'를 push한다
* 4. 2개씩 올라가는 반복문으로 빈 객체에 짝수 값을 키에 넣고, 홀수 값을 값에 넣는다
* */
let newObj = {};
if(arr === ''){return []}
let newArr = [...arr] //얕은 복사를 하지 않으면 arr에 영향울 준다
if(arr.length % 2 === 1){
newArr.push('empty!!')
}
for(let i=0;i<newArr.length;i+=2){
newObj[newArr[i]] = newArr[i+1]
}
return newObj
}
'프론트엔드 > 코딩노트' 카테고리의 다른 글
| [코드스테이츠 과제] fetch API (0) | 2022.09.27 |
|---|---|
| [코드스테이츠 과제] Node.js모듈 - fs모듈 (0) | 2022.09.27 |
| [코드스테이츠 과제] 비동기 - 타이머 API (0) | 2022.09.27 |
| [코플릿] 객체 - 다른 객체들의 속성 가져오기 (1) | 2022.09.23 |
| [코드스테이츠 과제] 클래스와 상속 활용 - 학교 인원 관리 (0) | 2022.09.22 |