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

JS_๊ธฐ๋ณธ๋ฌธ๋ฒ• (6)_๋ฐฐ์—ด 2 (๊ด€๋ จ ํ•จ์ˆ˜)

by KASSID 2022. 2. 15.

๋ชฉ์ฐจ

    ๋ฐฐ์—ด๊ณผ ๊ด€๋ จ๋œ ํ•จ์ˆ˜๋“ค์„ ์•Œ์•„๋ณด์ž!

     

    ์‚ฝ์ž…

    push

    ๋ฐฐ์—ด ๊ฐ€์žฅ ๋์— ์•„์ดํ…œ ์ถ”๊ฐ€

    const data = [1,2,3];
    data.push("Hey")
    console.log(data)
    
    >>>
    [1, 2, 3, "Hey"]

    ์—ญ์‹œ ์ž๋ฃŒํ˜•์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

     

    unshift

    ๋ฐฐ์—ด ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์— ์š”์†Œ ์‚ฝ์ž…

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

    ์‚ญ์ œ

    pop

    ํŒŒ์ด์ฌ์—๋„ ์žˆ๋Š” ๊ทธ ํ•จ์ˆ˜์ด๋‹ค.

    ๋ฐฐ์—ด ๊ฐ€์žฅ ์ž๋ฆฌ๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ ,

    ํ•ด๋‹น ์•„์ดํ…œ์€ ๋ฐฐ์—ด์—์„œ ์‚ญ์ œ๋œ๋‹ค.

     

    const arr = [1, 2, "Hey"]
    let data = arr.pop();
    console.log(arr);
    console.log(data);
    
    >>>
    [ 1, 2 ]
    Hey //๊ฐ€์žฅ ๋’ค์˜ ์•„์ดํ…œ์„ ๋ฐ˜ํ™˜

     

    shift

    ์•ž์œผ๋กœ ํ•œ ์นธ ์”ฉ ์ด๋™

    ์ด๋•Œ ๊ฐ€์žฅ ์•ž์˜ ์•„์ดํ…œ์€ ์‚ฌ๋ผ์ง„๋‹ค.

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

    ์ˆ˜์ •

    concat

    ๋ฐฐ์—ด์„ ํ•ฉ์นœ๋‹ค.

    const arr1 = [1, 2, 3]
    const arr2 = [4, 5, 6]
    const arr = arr1.concat(arr2)
    console.log(arr);
    
    >>>
    [ 1, 2, 3, 4, 5, 6 ]

     

    reverse

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

     


    ๊ธฐํƒ€

    splice

    ํŠน์ • ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์‚ฝ์ž…, ์‚ญ์ œ, ์ˆ˜์ •

    "splice(์ธ๋ฑ์Šค, ๊ฐœ์ˆ˜, (๊ฐ’) )"

     

    - ์‚ฝ์ž…

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

    - ์‚ญ์ œ

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

    - ์ˆ˜์ •

    const arr = [1, 2, 3];
    arr.splice(1, 1, '์ด');
    console.log(arr);
    
    >>> [1, '์ด', 3]

     

    forEach

    for๋ฌธ ๋Œ€์ฒด, ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐ์—ด์˜ ์•„์ดํ…œ์„ ๊ฐ€์ ธ์˜จ๋‹ค.

    const arr = [1, 2, 3]
    arr.forEach(item => {
        console.log(item)
    });
    
    >>>
    1
    2
    3

     

    map

    ์ •์˜ํ•œ ํ•จ์ˆ˜์— ๋ฐฐ์—ด์„ ์ ์šฉํ•ด์„œ

    ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋ฐ˜ํ™˜

    const arr1 = [1, 2, 3, 4, 5]
    const arr2 = arr1.map(item => item**2);
    console.log(arr2)
    
    >>>
    [ 1, 4, 9, 16, 25 ]
    function double(item) {
        return item **2
    }
    const arr1 = [1, 2, 3, 4, 5]
    const arr2 = arr1.map(double);
    console.log(arr2)
    
    >>>
    [ 1, 4, 9, 16, 25 ]

    ์œ„์™€ ๊ฐ™์ด ํ•จ์ˆ˜๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค!

    ์ผ๊ด„์ ์œผ๋กœ ์•„์ดํ…œ์— ๋ณ€๊ฒฝ์„ ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

     


    ๋ฐ˜ํ™˜

     

    - ๊ฐ์ฒด

    slice

    ํŒŒ์ด์ฌ์˜ ์Šฌ๋ผ์ด์‹ฑ๊ณผ ๋™์ผ๊ฐœ๋…

    (์‹œ์ž‘,๋-1) ๋ฐ˜ํ™˜

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

     

    find

    ์ง€์ • ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๊ฐ์ฒด ์ž์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    const arr = [{type: "Fruits", name:"apple"},{type: "Vegetables", name:"onion"},]
    console.log(arr.find(item => item.name === 'onion'))
    
    >>>
    { type: 'Vegetables', name: 'onion' }

     

    filter

    ์กฐ๊ฑด์— ์ฐธ์ธ ์•„์ดํ…œ์„ ๋ชจ์•„์„œ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜

    const arr = [1,2,3,4,5,6,7,8,9]
    let even = arr.filter(item => item % 2 === 0)
    console.log(even)
    
    >>>
    [ 2, 4, 6, 8 ]

     

    join

    ํŒŒ์ด์ฌ์—๋„ ์œ ์‚ฌํ•˜๊ฒŒ ์žˆ๋Š” ํ•จ์ˆ˜

    "๋ฐฐ์—ด๋ช….join('์‚ฝ์ž…๋ฌธ์ž์—ด')"

    (์•ž ๋’ค์— ๋„ฃ๋Š” ๊ฒƒ์ด ๋‹ค๋ฅด๋‹ค. (๋ฌธ์ž์—ด).join(๋ฐฐ์—ด)  )

     

    ๋ฐฐ์—ด ์•„์ดํ…œ ์‚ฌ์ด์— ๋ฌธ์ž์—ด์„ ๋„ฃ๊ณ ,

    ๋ชจ๋“  ์•„์ดํ…œ์„ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค.

    const arr = [1, 2, 3, 4, 5]
    str = arr.join('-')
    console.log(str);
    
    >>>
    1-2-3-4-5

    - ์ธ๋ฑ์Šค

    indexOf & lastIndexOf

    ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์œ„์น˜ํ•œ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    indexOf๋Š” ์ฒ˜์Œ ๋“ฑ์žฅํ•œ index,

    lastIndexOf๋Š” ๋งˆ์ง€๋ง‰์œผ๋กœ ๋“ฑ์žฅํ•œ index๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐ’์ผ ๊ฒฝ์šฐ -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    const arr = ['๊ฐ€','๋‚˜','๋‹ค','๊ฐ€'];
    let result1 = arr.indexOf('๊ฐ€');
    let result2 = arr.lastIndexOf('๊ฐ€');
    console.log(result1);
    console.log(result2);
    
    >>> 0
    >>> 3

     

    findIndex

    ์•„์ดํ…œ์ด ๊ฐ์ฒด์ผ ๊ฒฝ์šฐ,

    ๊ฐ์ฒด์—์„œ ์ง€์ •ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    const arr = [{type: "Fruits", name:"apple"},{type: "Vegetables", name:"onion"},]
    console.log(arr.indexOf('onion'))
    console.log(arr.findIndex(item => item.name === 'onion'))
    
    >>>
    -1 //์—†๋‹ค๋Š” ๋œป, ๊ฐ์ฒด ์•ˆ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชป ์ฐพ์Œ
    1 //๊ฐ์ฒด์˜ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜

    - boolean

    includes

    ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. 

    boolean ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

    const arr = ['๊ฐ€','๋‚˜','๋‹ค'];
    let result = arr.includes('๊ฐ€');
    console.log(result);
    
    >>> true

     

     

    ๋Œ“๊ธ€