๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒŒ | WEB DEV/Vanilla JS

JS_๊ธฐ๋ณธ๋ฌธ๋ฒ• (5)_๋ฐฐ์—ด 1

by KASSID 2022. 2. 15.

๋ชฉ์ฐจ

    728x90

    ๋ฐฐ์—ด์„ ๋‹ค๋ฃฐ ๋•Œ๋Š” CRUD๋ฅผ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.

    Create, Read, Update, Delete

    (์ƒ์„ฑ, ์ฝ๊ธฐ, ์ˆ˜์ •, ์‚ญ์ œ)

     

    JS ๋ฐฐ์—ด์˜ CRUD๋ฅผ ์•Œ์•„๋ณด์ž

     

    Create

     

    1. ์ดˆ๊ธฐํ™”์™€ ์„ ์–ธ ๋™์‹œ์—

    const arr1 = [1,2,3,4];
    const arr2 = [1,'2',3,'4'];

    ๊ฐ์ฒด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ

    ๋ฐฐ์—ด๋„ ๊ทธ ์ž์ฒด๋ฅผ ์ƒˆ๋กœ์šด ๊ฒƒ์œผ๋กœ ๋ฎ์–ด๋ฒ„๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฑฐ์˜ ์—†์œผ๋ฏ€๋กœ

    const๋กœ ์ƒ์ˆ˜ ์„ ์–ธ์„ ์ฃผ๋กœ ํ•ด์ค€๋‹ค.

     

    ๋ฐฐ์—ด ์•ˆ ์š”์†Œ๋“ค์˜ ์ž๋ฃŒํ˜•์€ ํ†ต์ผ๋˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค!

     

     

    2. ๊ฐ์ฒด๋กœ ์„ ์–ธ (์ดˆ๊ธฐํ™”X ์„ ์–ธ)

    const arr = new Array()

    ๋ฐฐ์—ด์„ ๊ฐ์ฒด๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค!

    ์ด ๊ฒฝ์šฐ์—๋Š” ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์€ ๋นˆ ๋ฐฐ์—ด์ด๋‹ค.

     

    ์œ„์˜ ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„ ์•„๋ž˜์™€ ๊ฐ™์ด

    ์–ด๋– ํ•œ ํŠน์ • ์ธ๋ฑ์Šค๋งŒ ๊ฐ’์„ ๋„ฃ์–ด์ค€๋‹ค๋ฉด,

    const arr = new Array() //๋น„์–ด์žˆ๋Š” ๋ฐฐ์—ด ์„ ์–ธ ์ฃผ๋œ ๋ฐฉ๋ฒ•
    arr[1] = 1;
    console.log(arr)
    
    >>>
    [ <1 empty item>, 1 ]

    ๋น„์–ด์žˆ๋Š” ์ธ๋ฑ์Šค์—๋Š”

    undefined ๊ฐ์ฒด๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.

     

    Read

    const arr = new Array()
    
    arr[0] = 1;
    arr[1] = 2;
    console.log(arr[0], arr[1], arr[arr.length -1])
    
    >>>
    1 2 2

    ์ธ๋ฑ์‹ฑ์„ ํ†ตํ•ด ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ฝ์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

     

    ์ฃผ์˜ํ•  ํŒŒ์ด์ฌ๊ณผ ๋‹ค๋ฅธ ์ ์€

    "-1"์ด๋ผ๋Š” ์ธ๋ฑ์Šค๋กœ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

    ๋”ฐ๋ผ์„œ "(๋ฐฐ์—ด์˜ ๊ธธ์ด) -1" ์„ ์ธ๋ฑ์Šค๋กœ ๋„ฃ์–ด์„œ ์ ‘๊ทผํ•ด์ฃผ๋ฉด ๋œ๋‹ค!

     

    Update

    const arr = [1,2,3];
    
    arr[0] = 2;
    console.log(arr);
    
    >>>
    [2,2,3]

    ์ธ๋ฑ์Šค์— ์ ‘๊ทผํ•ด์„œ ๊ฐ’์„ ํ• ๋‹น์‹œํ‚จ๋‹ค.

     

    ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์— ์ถ”๊ฐ€

    "๋ฐฐ์—ด.length"๋ฅผ ์ด์šฉํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

     

    const arr = [1,2,3];
    
    arr[arr.length] = 4;
    console.log(arr);
    
    >>>
    [1,2,3,4]

    ํ˜น์€ "push" ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•œ๋‹ค.

    const arr = [1,2,3];
    
    arr.push(4);
    console.log(arr);
    
    >>>
    [1,2,3,4]

     

    ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค์— ์ถ”๊ฐ€

    "unshift" ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ๊ฐ’์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

    const arr = [1,2,3];
    
    arr.unshft(0);
    console.log(arr);
    
    >>>
    [0,1,2,3]

     

    Delete

    .splice()๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์ค€๋ฉด ํŠน์ • ์š”์†Œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๋ฐฐ์—ด.splice(์‹œ์ž‘์ธ๋ฑ์Šค, ๊ฐœ์ˆ˜)

     

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

    splice๋ฅผ ํ•˜๋ฉด ํ•ด๋‹น ๋ฐฐ์—ด์— ๊ณง๋ฐ”๋กœ ์ ์šฉ์ด ๋œ๋‹ค.

    (์ƒˆ๋กœ์šด ๊ณต๊ฐ„ ๋งŒ๋“œ๋Š” ๊ฒƒ X)

     


    ๋ฐฐ์—ด ์•ˆ ์š”์†Œ

    JS์˜ ๋ฐฐ์—ด๋„ ํŒŒ์ด์ฌ์ฒ˜๋Ÿผ

    ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐํƒ€์ž…์„ ์•„์ดํ…œ์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

     

    number, string, null ๋“ฑ์„ ํ•œ ๋ฐฐ์—ด ์•ˆ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ ,

     

    ๊ฐ์ฒด๋„ ์•„์ดํ…œ์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

    const arr = [
        {a: '1', b:10},
        {a: '2', b:20}
    ];
    // { } ์ค‘๊ด„ํ˜ธ๋Š” ๊ฐํ…Œ ๋ฆฌํ„ฐ๋Ÿด์„ ํ†ตํ•œ ๊ฐ์ฒด๋กœ ์ธ์ง€

     

    ๋ฐฐ์—ด ์•ˆ์˜ ๋ฐฐ์—ด, n์ฐจ์› ๋ฐฐ์—ด๋„ ๋ฌผ๋ก  ๊ฐ€๋Šฅํ•˜๋‹ค.

     

     

    ๋Œ“๊ธ€