[SEB FE 44] 배열

Heechang Jeong·2023년 2월 27일
0

CODE STATES

목록 보기
11/40
post-thumbnail

✍ 복습 자료


1. 문자열에서 가장 긴 단어 찾기


  • 입출력 예시
let output = getLongestWord('I love codestates');
console.log(output); // --> "codestates"
  • 코드
function getLongestWord(str) {  
  let words = str.split(' '); // I, love, codestates

  let max = words[0]; // I

  for (let i = 0; i < words.length; i++) {
    if (words[i].length > max.length) {
      max = words[i];
    }
  }
  return max;
}

// 입력: string => 공백있는 str
// 출력: string

// 공백 한 칸으로 구분
// 가장 긴 단어가 2개 이상이면 첫번째로 등장하는 단어 리턴


2. 전화번호 형식의 문자열


  • 입출력 예시
let output = createPhoneNumber([0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8]);
console.log(output); // --> '(010)1234-5678'
  • 코드
function createPhoneNumber(arr) {
  let head = '(010)';
  const len = arr.length;
  const body = arr.slice(len - 8, len - 4).join('');
  const tail = arr.slice(len - 4, len).join('');

  if (len === 11) {
    head = `(${arr.slice(0, 3).join('')})`;
  }

  return `${head}${body}-${tail}`;
}

// 입력 : arr
// 출력 : string

// 반복문 X
// 배열의 길이 8 => [0, 1, 0] 있음


3. Programmmers - 배열의 평균값


function solution(numbers) {
    const number = numbers.reduce((acc, cur) => acc + cur);
    return number / numbers.length;
}

// 입력 : numbers
// 출력 : numbers 원소의 평균값

  • reduce()
    배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.



🎯 slice, splice

  • slice
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];

console.log(animals.slice(2, 4));
//  Array ["camel", "duck"]
  • splice
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);

// removed is ["mandarin"]
// myFish is ["angel", "clown", "drum", "sturgeon"]


Reference

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/@@iterator

0개의 댓글