#11 TIL 배열

장석진·2021년 4월 3일
0

29기전에 코플릿에 있는 문제들을 다시 한번씩 수도코드를 작성해서 풀어보는과정이다.

1번째 문제 처음 이 문제를 봤을 때는 "그냥 if문 쓰고 else if 사용해서 계속 하면 안되나"라고 생각을 했지만 중간에 값이 같아져서 결과가 안 나와서 고민을 해보다가 주의사항에 "자바스크립트에서 array, null 타입은 존재하지 않지만, 이 둘을 구분하여 출력합니다." 라고 적혀있어서 array와 null을 먼저 걸러주고 나머지는 typeof메소드를 사용해서 풀었다.

function getType(anything) {
  // TODO: 여기에 코드를 작성합니다.
if(Array.isArray(anything)){
  return 'array';
}else if(anything === null){
  return 'null';
}else{
  return typeof anything;
}
}
// 먼저 조건문을 사용해서 나눠야한다. 
// anything은 'string', 'number', 'boolean', 'object', 'array', 'undefined', 'null', 'function' 갖고있는 임의의값
// 주의사항으로 array와 null은 존재하지 않지만 둘을 구분해서 출력을 해야하기 때문에 Array.isArray을 사용해서
// 먼저 배열일 때와 null을 조건문을 사용하고 
// else을 사용해서 typeof라는 메소드로 anything을 걸러준다ㅣ.

그 후에 배열에 문제들을 쭉 풀었다. 그러다가 이제 pop,push,shift,unshift가 문제에서 나왔고 4가지의 메소드를 다시 정리하는 시간을 가졌다.

pop🔍

배열의 마지막요소를 제거하는 메소드

function getAllElementsButLast(arr) {
  // TODO: 여기에 코드를 작성합니다.
 arr.pop();
 return arr;
}
// 배열을 입력받아 마지막 요소르 제외한 배열을 리턴하는 것이기 때문에
// 배열의 마지막요소를 제거하려면 pop라는 메소드를 이용해서 
// 배열의 마지막요소를 제거하고 arr을 리턴하면된다.
let input = [1, 2, 3, 4];
let output = getAllElementsButLast(input);
console.log(output); // --> [1, 2, 3]

push🔍

배열의 마지막요소를 추가하는 메소드

function addToBack(arr, el) {
  // TODO: 여기에 코드를 작성합니다.
  arr.push(el);
  return arr;
}
// 배열을 입력받아 마지막 요소를 추가한 배열을 리턴하는 것이기 때문에
// 배열의 마지막요소를 추가하려면 push라는 메소드를 이용해서 
// 배열의 마지막요소를 추가하고 arr을 리턴하면된다.
let output = addToBack([1, 2], 3);
console.log(output); // -> [1, 2, 3]

shift🔍

배열의 첫번째요소를 제거하는 메소드

function getAllElementsButFirst(arr) {
  // TODO: 여기에 코드를 작성합니다.
  arr.shift(0);
 return arr;
}
// arr배열의 첫번째 요소를 제외한 배열이기때문에
// 배열에 shift라는 메소드를 통해서 arr의 0번째 요소를 제거하면서 출력이된다.
let input = [1, 2, 3, 4];
let output = getAllElementsButFirst(input);
console.log(output); // --> [2, 3, 4]

unshift🔍

배열의 첫번째요소를 추가하는 메소드

function addToFront(arr, el) {
  // TODO: 여기에 코드를 작성합니다.
   arr.unshift(el);
  return arr;
}
// 맨 앞의 추가하는 메소드는 unshift을 사용해서 el을 앞에 추가한다
let output = addToFront([1, 2], 3);
console.log(output); // -> [3, 1, 2]

메소드에 많이 익숙해지고 많이 풀어보자!! 할 수 있다!!!

profile
개발자가 되고 싶은 새내기

0개의 댓글