"
array.splice
메서드 - 03" 문제풀이다음 배열에서 곰팡이를 제거한 배열을 나타내시오.
let arr = [['양파','곰팡이'],['곰팡이','빵','딸기잼'],['귤','곰팡이','사과']];let arr = [['양파','곰팡이'],['곰팡이','빵','딸기잼'],['귤','곰팡이','사과']]; function removeGerm() { // 여기에 코드를 작성해주세요! for(let i = 0; i < 3; i++){ for(let j = 0; j <= 4; j++){ if(arr[i][j] === '곰팡이'){ arr[i].splice(j,1) } } } return arr; } console.log(removeGerm()) // [["양파"],["빵","딸기잼"],["귤","사과"]]
어제 하루의 반나절 이상을 함께 했던 곰팡이는 드디어 박멸할 수 있었다.🙏
짧은 회고 : 중첩배열과 반복문 그리고 splice메서드에 대해서 정확히 개념을 알지 못해 벌어진 일이었다. 개념을 다시 제대로 각인시키도록 하자💪
array.push
메서드
- 배열의 끝에 하나 이상의 요소를 추가할 때 사용한다!예시문제
다음 아래의 배열에서 ["배구는 김연경"]을 추가해주세요.
let myArr = [["기독교는 성경"],["불교는 불경"]]function volleyballP(){ let myArr = [["기독교는 성경"],["불교는 불경"]] myArr.push(["배구는 김연경"]) return myArr; } console.log(volleyballP()) // [["기독교는 성경"], ["불교는 불경"], ["배구는 김연경"]]
역시 배구는 김연경이다.🙏💪👍
array.pop
메서드
- 배열의 마지막 요소를 제거하며 제거된 요소를 반환한다!예시문제
다음 아래의 배열 마지막 요소를 제거해주세요.
let myArr = [["기독교는 성경"],["불교는 불경"]]function popArray(){ let myArr = [["기독교는 성경"],["불교는 불경"]] myArr.pop() return myArr; } console.log(popArray()) // ["기독교는 성경"]
array.shift
메서드
- 배열의 첫번째 요소를 제거한다!예시문제
다음 아래의 배열 첫번째 요소를 제거해주세요.
let myArr = [["기독교는 성경"],["불교는 불경"]]function popArray(){ let myArr = [["기독교는 성경"],["불교는 불경"]] myArr.shift() return myArr; } console.log(popArray()) // ["불교는 불경"]]
나는 무교이지만, array.pop메서드에서 불교를 제거했기 때문에 저항받지 않기 위해 같은 예시를 사용하여 기독교를 제거하였다 .🙏
반복문(for문)
- for 반복문은 어떠한 특정 조건이 거짓으로 판별될 때 까지 같은 동작(반복적으로 행해야할)을 반복한다.예시
for ( let i =0; i<=array.length; i++){}
초기화문(let i=0;)
- 작성 시 변수 선언자를 써주어야한다.
- 변수명은 index를 의미하는 i 가 보편적이다.
- index가 증가할 경우 숫자는 보통 0부터 시작한다.
- 세미콜론(;)이 꼭 찍혀야한다.
조건문(i<=array.length;)
- index의 범위를 설정한다.
- inedx가 증가할 경우 특정한 숫자 미만 혹은 이하로 설정한다.
- index가 감소 할 경우 0이상으로 설정한다.
- 조건문 값이 true가 나올 경우 반복문을 계속 실행한다.
- 조건문 값이 false가 나올 경우 반복문이 종료된다.
- 세미콜론(;)이 꼭 찍혀야 한다.
증감식(i++)
- index가 1씩 증가할 경우 :++
- index가 1씩 감소할 경우 :--
-i++
는i=i+1
줄여서 쓴 것이며,i+=1
로 표현 가능하다.
-i++
는++1
로도 표현할 수 있다.
forloops
문제예시문제
(1) for문을 이용하여 myArray 배열에 1~5까지의 숫자가 요소로 포함될 수 있도록 해주세요.
(2) i가 2씩 증가할 때 1~30까지 홀수와 짝수의 배열을 각각 구하시오.
(3) 1~9 까지의 숫자 중 홀수만 배열에 추가하시오.
(4) 1~9 까지의 숫자를 역순으로 배열에 추가하시오.(1) function forLoops() { let myArray = []; for(let i=1; i<6; i++){ myArray.push(i) } return myArray; } console.log(forLoops()) // [1, 2, 3, 4, 5]
(2) 짝수일 때 function addEvenNumber() { let result = []; for (let i=2; i<=30; i+=2){ result.push(i) } return result ; } console.log(addEvenNumber()) // [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
(2) 홀수일 때 function addOddNumber() { let result = []; for (let i=1; i<=30; i+=2){ result.push(i) } return result } console.log(addOddNumber()) // [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29]
(3) function forLoops() { let myArray = []; for (let i=1; i<10; i+=2){ myArray.push(i) } return myArray } console.log(forLoops()) // [1, 3, 5, 7, 9]
(4) function arrayForLoops() { let myArray = []; for (let i=9; i>0; i-=2){ myArray.push(i) } return myArray; } console.log(arrayForLoops()) // [9, 7, 5, 3, 1]
오늘의 시련 문제
예시문제
let output = getAllLetters('Radagast');
(1) for문을 사용하여 getAllLetters 함수를 작성하세요.
(2) 단어(str 인자)가 주어졌을 때 함수의 리턴값은 주어진 단어를 구성하는 모든 문자를 담고 있는 배열입니다.
(3) 만약 빈 문자열이 주어졌다면, 빈 배열을 반환해야 합니다.let output = getAllLetters('Radagast'); function getAllLetters(str) { let strArray = []; for (let i=0; i<str.length; i++){ strArray.push(str.substr(i,1)) } return strArray; } console.log(output) // ["R", "a", "d", "a", "g", "a", "s", "t"]
짧은 회고 : 반복문과 배열에 대해서 다시 한번 개념을 다지는 계기가 된 문제이며, 문자열 추출 메서드(split, string.substr 등)들을 찾아보고 개념 정리를 할 수 있었다. 💪
하루하루 지날수록 더 많은 개념을 적립하고 문제의 난이도 또한 더 올라가서 어렵게 느껴지고 시간이 매우매우 오래 걸리고있다...🥲🥲
그래도 시간 투자대비 성취감도 엄청나, 마치 올림픽 금메달을 딴 것 처럼 기뻐하고 좋아한다😆😆
매일매일 꾸준히 조바심 가지지 않고 정리한 내용들을 반복해서 복습하고 코드를 작성해보고 수정보완해야겠다. 오늘은 여기까지!👋