ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Array
    javascript 2023. 4. 13. 18:22
    반응형

    * arr.splice(n, m) : 배열의 특정 요소를 지움, n번째부터 m개를 지움

    let arr = [1, 2, 3, 4, 5];
    
    arr.splice(1, 2);
    
    console.log(arr);//[1, 4, 5]

    * arr.splice(n, m) : 배열의 특정 요소를 지우고 그 사이에 추가

    let arr = [1, 2, 3, 4, 5];
    
    arr.splice(1, 3, 100, 200);
    
    console.log(arr);//[1, 100, 200, 5]
    
    /*두번째 인수에 0을 넣으면 아무것도 지우지 않고 중간에 새로운 요소 추가 가능함*/
    let arr = ["나는", "철수", "입니다"];
    
    arr.splice(1, 0, "대한민국", "소방관");
    
    console.log(arr);//["나는", "대한민국", "소방관", "철수", "입니다"]

    * arr.splice() : 삭제된 요소 반환

    let arr = [1, 2, 3, 4, 5];
    let result = arr.splice(1, 2);
    
    console.log(arr);//[1, 4, 5]
    console.log(result);//[2, 3]

    * arr.slice(n, m) : n부터 m까지 반환, m은 포함하지 않고 바로 앞자리까지 반환

    let arr = [1, 2, 3, 4, 5];
    
    arr.slice(1, 4);//[2, 3, 4]
    
    /*인수를 아무것도 넣지 않으면 배열을 복사함*/
    let arr02 = arr.slice();
    
    console.log(arr02);//[1, 2, 3, 4, 5]

    * arr.concat(aar02, arr03, ..) : 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새배열로 반환

    let arr = [1, 2];
    
    arr.concat([3, 4]);//[1, 2, 3, 4]
    arr.concat([3, 4], [5, 6]);//[1, 2, 3, 4, 5, 6]
    arr.concat([3, 4], 5, 6);//[1, 2, 3, 4, 5, 6]

    * arr.forEach(fn:함수) : 배열 반복

    - 함수를 인수로 받음

    - 이 함수에는 3개의 매개변수가 있음(1. 해당요소, 2. 인덱스, 3. 해당 배열 자체를 의미함), 보통 첫번째와 두번째만 사용

    let users = ['Mike', 'Tom', 'Jane'];
    
    users.forEach((item, index, arr) =>{
        //..
    });
    
    /*
    1. item : Mike, Tom, Jane
    2. index : 0, 1, 2
    3. arr : users
    */
    
    //---------------------------------------------------------------------------------------------
    let users = ['Mike', 'Tom', 'Jane'];
    
    arr.forEach((naem, index) => {
        console.log(name);//Mike Tom Jane
        console.log(`${index}+1. ${name}`);//1. Mike 2. Tom 3. Jane
    });

    * arr.indexOf() / arr.lastIndexOf() : 발견하면 해당 인덱스를 반환하고 없으면 -1을 반환함

    let arr = [1, 2, 3, 4, 5, 1, 2, 3];
    
    arr.indexOf(3);//2
    
    /*인수가 두개인 경우 두번째 인수는 시작 위치를 의미함*/
    arr.indexOf(3, 3);//7
    
    /*끝에서부터 탐색하고 싶을때*/
    arr.lastIndexOf(3);//7

    * arr.includes() : 배열내에 인수를 포함하는지 확인

    let arr = [1, 2, 3];
    
    arr.includes(2);//true
    arr.includes(8);//false

    * arr.find(fn) / arr.findIndex(fn) : 조건에 만족하는것 하나만 반환함, 첫번째 true 값만 반환하고 끝, 만약 없으면 undefined를 반환, findIndex는 해당 인덱스를 반환함

    /*짝수 반환*/
    let arr = [1, 2, 3, 4, 5];
    
    const result = arr.find((item) => {
        return item % 2 ===0;
    });
    
    console.log(result);//2
    
    /*미성년자 찾기*/
    let userList = [
        {name : "Mike", age : 30},
        {name : "Jane", age : 27},
        {name : "Tom", age : 10},
    ];
    
    //find
    userList.find((user) => {
        if(user.age < 19){
            return true;
        }
        return false;
    });
    
    console.log(result);//{name : "Tom", age : 10}
    
    //findIndex
    userList.findIndex((user) => {
        if(user.age < 19){
            return true;
        }
        return false;
    });
    
    console.log(result);//2

    * arr.filter(fn) : 조건에 만족하는 모든 요소를 배열로 반환

    /*짝수 반환*/
    let arr = [1, 2, 3, 4, 5];
    
    const result = arr.filter((item) => {
        return item % 2 ===0;
    });
    
    console.log(result);//[2, 4, 6]

    * arr.reverse() : 역순으로 재정렬

    let arr = [1, 2, 3, 4, 5];
    
    arr.reverse();//[5, 4, 3, 2, 1]

    * arr.map(fn) : 함수를 받아 특정 기능을 시행하고 새로운 배열을 반환

    let userList = [
        {name : "Mike", age : 30},
        {name : "Jane", age : 27},
        {name : "Tom", age : 10},
    ];
    
    /*매번 나이를 확인할 수 없어 isAdult라는 프로퍼티를 추가*/
    let newUserList = userList.map(function(user, index){
        return Object.assign({}, user, {
            id : index + 1,
            isAdult : user.age > 19,
        });
    });
    
    console.log(newUserList);
    /*
    [
        {name : "Mike", age : 30, id : 1, isAdult : true},
        {name : "Jane", age : 27, id : 2, isAdult : true},
        {name : "Tom", age : 10, id : 3, isAdult : false},
    ]
    */
    
    console.log(userList);
    /*
    [
        {name : "Mike", age : 30},
        {name : "Jane", age : 27},
        {name : "Tom", age : 10},
    ]
    */

    * arr.join() : 배열을 합쳐서 문자열을 만듬 / arr.split() : 문자열을 나눠서 배열로 만듬

    /*join : 배열을 합쳐서 문자열로 만듬*/
    let arr = ["안녕", "나는", "철수야"];
    
    /*인수가 없으면 ,로 구분됨*/
    let result = arr.join();
    
    console.log(result);//안녕,나는,철수야
    
    /*인수가 있으면*/
    let result = arr.join("-");
    
    console.log(result);//안녕-나는-철수야
    
    //---------------------------------------------------------------------------------------------
    /*split : 문자열을 나워서 배열로 만듬*/
    const users = "Mike, Jane, Tom";
    const result = user.split(",");
    
    console.log(result);//["Mike, Jane, Tom"]
    
    /*빈문자열 기준으로 하나씩 자르기*/
    let str = "Hello, ";
    const result = str.split("");
    
    console.log(result);["H", "e", "l", "l", "o", ",", " ",]

    * Array, isArray() : 배열인지 아닌지 확인하는 방법

    - 자바스크립트에서 배열은 객체형에 속하기 떄문에 typeof는 객체라고 알려줘서 일반 객체와 구분할 수가 없음

    let user = {
        name : "Mike",
        age : 30,
    };//user은 객체
    
    let userList = ["Mike", "Tom", "Jane"];//userList는 배열
    
    console.log(typeof user);//object
    console.log(typeof userList);//object
    
    console.log(Array.isArray(user));//false
    console.log(Array.isArray(userList));//true
    반응형

    'javascript' 카테고리의 다른 글

    String 문자형  (0) 2023.04.13
    Number, Math  (0) 2023.04.12
    심볼 Symbol  (0) 2023.04.09
    객체Objcet에서 사용 가능한 methods와 Computed property  (0) 2023.04.08
    생성자 함수  (0) 2023.04.08

    댓글

Designed by Tistory.