자바스크립트 : 배열과 객체

배열



배열은 값의 시퀀스 목록을 저장할 수 있는 데이터 유형입니다. 쉼표로 구분된 대괄호 사이의 값 목록으로 작성됩니다.
모든 배열은 자바스크립트에서 0으로 인덱싱됩니다. 즉, 첫 번째 요소는 기존의 1이 아닌 인덱스 0으로 시작합니다. 이것은 모든 코딩 언어에서 표준이며 일종의 전통이었습니다.

let list = [1, 2, 3, 4, 5];
//You can access each value inside this array as : 
console.log("The first element is : "+list[0]);
//The first element is 1


JavaScript에서 속성에 액세스하는 두 가지 주요 방법은 점과 대괄호를 사용하는 것입니다. value.x와 value[x]는 모두 value의 속성에 액세스하지만 반드시 동일한 속성은 아닙니다. 차이점은 x가 해석되는 방식에 있습니다.
점을 사용할 때 점 뒤의 단어는 속성의 리터럴 이름입니다.
대괄호를 사용할 때 대괄호 사이의 표현식을 평가하여 속성 이름을 얻습니다. value.x는 "x"라는 값의 속성을 가져오는 반면, value[x]는 표현식 x를 평가하려고 시도하고 문자열로 변환된 결과를 속성 이름으로 사용합니다.

행동 양식


  • 함수가 포함된 속성은 일반적으로 해당 속성이 속한 값의 메서드라고 합니다. 예를 들어 "toUpperCase"는 문자열 메서드입니다.
  • 두 가지 주요 방법인 push 와 pop 을 사용하여 JS에서 배열을 조작할 수 있습니다.

  • let sequence = [1, 2, 3];
    sequence.push(4); //push method adds an element at the end of the array
    sequence.push(5);
    console.log(sequence);
    // → [1, 2, 3, 4, 5]
    console.log(sequence.pop()); //pop method removes the last element of the array
    // → 5
    console.log(sequence);
    // → [1, 2, 3, 4]
    

    사물



    형식 개체의 값은 속성의 임의 컬렉션입니다. 우리는 일반적으로 중괄호{}를 사용하여 객체를 정의합니다. . 연산자를 사용하여 개체 내의 개별 속성 요소에 액세스할 수 있습니다.

    let day1 = {
    squirrel: false,
    events: ["work", "touched tree", "pizza", "running"]
    };
    console.log(day1.squirrel);
    // → false
    console.log(day1.wolf);
    // → undefined
    day1.wolf = false;
    console.log(day1.wolf);
    // → false
    


    delete 연산자를 사용하여 개체의 속성을 삭제할 수 있습니다. 예를 들어

    let anObject = {left: 1, right: 2};
    console.log(anObject.left);
    // → 1
    delete anObject.left;
    console.log(anObject.left);
    // → undefined
    console.log(anObject.right);
    // → 2
    
    console.log("left" in anObject);
    // → false
    console.log("right" in anObject);
    // → true
    


    이진 in 연산자를 사용하여 개체에 특정 이름의 속성이 있는지 확인할 수 있습니다. 개체에서 키를 찾으려면 Object.Keys 를 사용할 수 있습니다.

    console.log(Object.keys({x: 0, y: 0, z: 2}));
    // → ["x", "y", "z"]
    


    배열 루프



    아래의 첫 번째 루프는 각 요소를 하나씩 살펴보는 일반적인 for 루프입니다. 그러나 여기에서 카운터는 각 요소를 참조하는 것 외에 다른 목적이 없습니다.

    for (let i = 0; i < JOURNAL.length; i++) {
    let entry = JOURNAL[i];
    // Do something with entry
    }
    
    for (let entry of JOURNAL) {
    console.log(`${entry.events.length} events.`);
    }
    


    두 번째 루프도 전체 배열을 반복하며 각 요소를 순차적으로 항목으로 가져와 루프 내부에서 사용합니다.
    두 루프 모두 사용되며 잘 작동합니다.

    몇 가지 더 많은 방법


  • 푸시 및 팝이 배열의 마지막 인덱스에서 작동하는 것처럼 shift 및 unshift는 배열 시작에서 요소를 추가 및 제거하는 데 사용됩니다.

  • let todoList = [];
    function remember(task) {
    todoList.push(task);
    }
    function getTask() {
    return todoList.shift();
    }
    function rememberUrgently(task) {
    todoList.unshift(task);
    }
    

  • 특정 값을 찾기 위한 indexOf 메소드가 있다. 처음부터 첫 번째 인덱스를 반환합니다. 마지막 인덱스에서 검색을 시작하려면 lastIndexOf 가 있습니다.

  • console.log([1, 2, 3, 2, 1].indexOf(2));
    // → 1
    console.log([1, 2, 3, 2, 1].lastIndexOf(2));
    // → 3
    //Both these methods take in an optional second argument,
    //that indicates from where to start searching
    

  • 또한 슬라이스 및 연결을 각각 수행하는 slice 및 concat 메서드가 있습니다.

  • function remove(array, index) {
    return array.slice(0, index)
    .concat(array.slice(index + 1));
    }
    console.log(remove(["a", "b", "c", "d", "e"], 2));
    // → ["a", "b", "d", "e"]
    

    문자열 및 해당 메서드


  • 가장 유용한 것 중 하나는 slice 및 indexOf 입니다.

  • console.log("coconuts".slice(4, 7));
    // → nut
    console.log("coconut".indexOf("u"));
    // → 5
    

  • trim 메서드는 주어진 문자열에서 공백 및 기타 추가 기호를 제거합니다.

  • console.log("Hey param \n ".trim());
    // → Heyparam
    

  • padStart 메서드를 사용하면 길이와 패딩 문자를 인수로 받아 주어진 문자열을 채울 수 있습니다.

  • console.log(String(6).padStart(3, "0"));
    // → 006
    

  • 문자열에서 split 및 join 메소드를 사용할 수 있습니다.

  • let sentence = "Secretarybirds specialize in stomping";
    let words = sentence.split(" ");
    console.log(words);
    // → ["Secretarybirds", "specialize", "in", "stomping"]
    console.log(words.join(". "));
    // → Secretarybirds. specialize. in. stomping
    

  • repeat 메서드를 사용하여 문자열의 여러 복사본을 만들 수 있습니다.

  • console.log("LA".repeat(3));
    // → LALALA
    

    나머지 매개변수



    때때로, 우리는 어떤 수의 인수를 갖는 함수를 원할 수도 있습니다. 함수의 마지막 매개변수 앞에 점 3개...를 추가하면 됩니다.

    function max(...numbers) {
    let result = -Infinity;
    for (let number of numbers) {
    if (number > result) result = number;
    }
    return result;
    }
    console.log(max(4, 1, 9, -2));
    // → 9
    


    JSON 객체



    우리는 종종 객체에 정보를 저장하거나 나중에 사용하기 위해 사용해야 합니다. 이를 효과적으로 수행하기 위해 데이터를 직렬화합니다. 이는 플랫 설명에 저장됨을 의미합니다. 가장 널리 사용되는 방법 중 하나는 JSON(JavaScript Object Notation) 형식으로 저장하는 것입니다. 이것은 JS뿐만 아니라 웹에서 정보를 보내고 저장하는 데에도 사용됩니다.

    {
    "squirrel": false,
    "events": ["work", "touched tree", "pizza", "running"]
    }
    

    좋은 웹페이지 즐겨찾기