JS_#5_배열, 객체

Jinwoo Choi·2022년 9월 6일
0

부트캠프

목록 보기
10/29
post-thumbnail

📔 배열

  • 특정 인덱스(index)의 요소(element)를 조회하거나 변경
  • length 속성을 이용하여 배열의 길이를 조회
  • 배열의 요소가 배열인 이중 배열을 이해하고, 이중 배열의 요소를 조회하거나 변경
  • 배열의 각 요소에 대하여, 반복하는 코드를 실행

📔 배열에서 사용되는 다양한 메서드

  • split()  : 문자열을 분할

    let A = "I am Jay"
    const B = A.split(" ");  //빈칸(띄어쓰기)를 기준으로 분할해라
    
  • join()  : [immutable] 배열의 요소를 병합해 문자열로 만듬
    const elements = ['Fire', 'Air', 'Water'];
    console.log(elements.join());
    // expected output: "Fire,Air,Water"
    console.log(elements.join(''));
    // expected output: "FireAirWater"
    console.log(elements.join('-'));
    // expected output: "Fire-Air-Water"
    
  • slice() : [immutable] ctrl+c,v 같은 느낌

     어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다. 원본 배열은 바뀌지 않습니다.

    const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
    
    console.log(animals.slice(2));
    // expected output: Array ["camel", "duck", "elephant"]
    
    console.log(animals.slice(2, 4));
    // expected output: Array ["camel", "duck"]
    
    console.log(animals.slice(1, 5));
    // expected output: Array ["bison", "camel", "duck", "elephant"]
    
    console.log(animals.slice(-2));
    // expected output: Array ["duck", "elephant"]
    
    console.log(animals.slice(2, -1));
    // expected output: Array ["camel", "duck"]
    
    console.log(animals.slice());
    // expected output: Array ["ant", "bison", "camel", "duck", "elephant"]
    
  • splice()  : [mutable] 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.

    splice메서드는 순서대로 (제거할 요소의 인덱스, 몇 번째 요소까지, 제거한 후 대신 추가할 요소)

  • Array.isArray()  : 인자가 Array인지 판별합니다.

    Array.isArray([1, 2, 3]);  // true
    Array.isArray({foo: 123}); // false
    Array.isArray('foobar');   // false
    Array.isArray(undefined);  // false
    
  • push()  : 뒤에 element 추가
  • unshift() : 배열의 앞에 요소를 추가한 후, 배열의 length를 리턴
     arr.unshift(element);
     return arr;
     // element가 추가된 배열 arr을 리턴
     
     // 결과는 배열이 아니라, 행위로 인식해서 배열로 결과 리턴하려면 이런 식으로
     arr.unshift(el);
     return arr;    
  • pop() : 배열의 마지막 요소를 제거한 후 마지막 요소를 리턴
  • shift() : 앞에 element 삭제
  • indexOf() : 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다.
  • includes() : 배열이 특정 요소를 포함하고 있는지 판별합니다.
  • concat() : 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다.

📔 객체

  • 속성(property)
  • 키(key): 값(value)

🔹 dot notation

  • user.firstName   // 'Jinwoo'
  • 쓰기엔 편하다.
  • 키 값이 정적일 때

🔹 bracket notation

  • user['firstName']   // 'Jinwoo'
  • 키 값이 동적으로 변할 때
  • 키 값이 변수일 때
  • 만약 변수가 string 값이면, 동적인 상황에 반응할 수 있으므로

🔹 삭제 기능

  • delete user.firstName   // 삭제

🔹 Boolean 기능

  • 'firstName' in user   // false (윗줄에서 지웠으니)
let greeting = 'Hello';
function greetSomeone(
) {
  let firstName = 'Josh';
  return greeting + ' ' + firstName;
}

console.log(greetSomeone()); // ?
console.log(firstName); // ?
profile
Let your code speak for you.

0개의 댓글