Hayden's Archive

[자바스크립트] 배열의 기초, 타입, 배열의 반복, 객체 본문

Algorithm

[자바스크립트] 배열의 기초, 타입, 배열의 반복, 객체

_hayden 2019. 12. 26. 01:09

코드스테이츠 코플릿 문제

[3. 배열 기초, 타입] 01_getType

getType함수를 작성하세요.

getType함수가 있습니다. 이 함수는 주어진 파라미터의 타입을 리턴합니다.

  • Note:
  • typeof 키워드는 값의 타입을 판단할 수 있는 키워드입니다.
  • typeof를 이용해 배열의 타입을 확인하면, 'object'라고 나올 수 있습니다. 배열과 객체는 어떻게 구분할 수 있을까요?
  • 배열과 객체를 구분하려면 Array.isArray 메소드를 사용하면 됩니다.

 

내가 작성한 코드

function getType(anything) {
  if (typeof anything === 'array' || typeof anything === 'object'){
    if(Array.isArray(anything) === true){
      return 'array';
    }
    else{
      return 'object';
    }
  }
  else{
    return typeof anything;
  }
}

 


 

[3. 배열 기초] 01_getFirstElement

Write a function called "getFirstElement". ("getFirstElement" 함수를 작성하세요.)

Given an array, "getFirstElement" returns the first element of the given array. (배열이 주어졌을때, "getFirstElement" 함수는 주어진 배열의 첫번째 요소를 반환해야 합니다.)

Notes:

  • If the given array has a length of 0, it should return undefined. (- 만약 배열의 길이가 0이라면, 'undefined'를 반환해야 합니다.)

 

내가 작성한 코드

function getFirstElement(array) {
  if(array.length === 0){
    return undefined;
  }
  else{
    return array[0];
  }
}

 


 

[3. 배열 기초] 02_getLastElement

Write a function called "getLastElement". ("getLastElement" 함수를 작성하세요.)

Given an array, "getLastElement" returns the last element of the given array. (배열이 주어졌을때, "getLastElemeent" 함수는 주어진 배열의 마지막 요소를 반환해야 합니다.)

Notes:

  • If the given array has a length of 0, it should return 'undefined'. (- 만약 배열의 길이가 0이라면, 'undefined'를 반환해야 합니다.)

 

내가 작성한 코드

function getLastElement(array) {
  if(array.length === 0){
    return undefined;
  }
  else{
    return array[array.length-1];
  }
}

 


 

[3. 배열 기초] 03_getNthElement

Write a function called "getNthElement". ("getNthElement" 함수를 작성하세요.)

Given an array and an integer, "getNthElement" returns the element at the given integer, within the given array. (배열과 숫자가 주어졌을때, "getNthElement" 함수는 주어진 배열에서 n번 인덱스의 요소를 반환해야 합니다.)

Notes:

  • If the array has a length of 0, it should return 'undefined'. (- 만약 배열의 길이가 0이라면, 'undefined'를 반환해야 합니다.)

 

내가 작성한 코드

function getNthElement(array, n) {
  if(array.length === 0){
    return undefined;
  }
  else{
    return array[n];
  }

 

코드 리뷰

[3. 배열 기초] 1~3번 문제는 사실 같은 유형의 문제라서 금방 술술 풀었다. 첫번째 인덱스, 마지막 인덱스, n번째 인덱스의 차이만 있을 뿐.

 


 

[3. 배열의 반복] 01_computeSumOfAllElements

Write a function called "computeSumOfAllElements". ("computeSumOfAllElements" 함수를 작성하세요.)

Given an array of numbers, "computeSumOfAllElements" returns the sum of all the elements in the given array. (숫자의 배열이 주어졌을때, "computeSumOfAllElements" 함수는 주어진 배열의 모든 요소의 합을 반환합니다.)

 

내가 작성한 코드 (while 구문)

function computeSumOfAllElements(arr) {
  let n = 0;
  let sum = 0;
  while(n < arr.length){
    sum += arr[n];
    n++
  }
  return sum;
}

 

내가 작성한 코드 (for 구문)

function computeSumOfAllElements(arr) {
  let sum = 0;
  for(n = 0; n < arr.length; n++){
    sum += arr[n];
  }
  return sum;
}

 

코드 리뷰

반복문을 사용하는 문제이다. 예전에 파이썬을 배울 때는 while문을 많이 썼는데 자바스크립트를 배우고 있는 지금은 for문을 더 많이 쓰게 되어서 두 구문 모두 익숙해질 수 있도록 문제를 두 번 풀었다. 구문의 형식만 다를 뿐이지 원리는 같다.

 


 

[3. 배열의 반복] 02_getAllLetters

Write a function called "getAllLetters". ("getAllLetters" 함수를 작성하세요.)

Given a word, "getAllLetters" returns an array containing every character in the word. (단어가 주어졌을때, "getAllLetters" 함수는 주어진 단어에 포함된 모든 문자를 담고 있는 배열을 반환합니다.)

Notes:

  • If given an empty string, it should return an empty array. (만약 빈 문자열이 주어졌다면, 빈 배열을 반환해야 합니다.)
  • 반드시 for 문을 이용해야 합니다.

 

내가 작성한 코드

function getAllLetters(str) {
  let arrayOfStr = [];
  for(n = 0; n < str.length; n += 1){
    arrayOfStr.push(str[n]);
  }
  return arrayOfStr;
}

 


 

[4. 객체] 01_getProperty

getProperty함수를 작성하세요

파라미터로 객체와 키를 받는 getProperty함수가 있습니다. 이 함수는 주어진 객체와 키를 이용하여 속성값을 찾아 리턴합니다.

노트:

  • 만일 주어진 키가 객체의 속성에 없다면, undefined를 리턴하면 됩니다.

 

내가 작성한 코드

function getProperty(obj, propertyName) {
  return obj[propertyName];
}