Array & Function

JavaScript Arrays

Array

JavaScript์—์„œ ๋ฐฐ์—ด์€ ๊ฐ’๋งŒ ์กด์žฌํ•œ๋‹ค

  • ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด

    var a = [1,2,3]

  • Array ์ƒ์„ฑ์ž ํ•จ์ˆ˜

    var b = new Array(1,2,3)

Array ์ˆœํšŒ

  • for

    var a = [1,2,3]
    
    for (var i=0 ; i <a.length; i++){
        console.log(i, a[i])
    }

  • for .. of

    : ์•ˆ์— ์žˆ๋Š” ์›์†Œ ๊ฐ’๋“ค์„ ํ•˜๋‚˜ ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅ

    for (var elem of a){
        console.log(elem)
    }

  • forEach

    : ์ธ์ž๋กœ ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ๋ฐ›์Œ

    a.forEach( function(elem, idx) {
        console.log(idx, elem)
    })

  • for .. in

    • ๋ฐฐ์—ด ์š”์†Œ๋งŒ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์†์„ฑ๊นŒ์ง€ ์ถœ๋ ฅ๋  ์ˆ˜ ์žˆ๋‹ค

      • JavaScript์—์„œ ๋ฐฐ์—ด๋„ object๋ผ์„œ ์†์„ฑ ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋ฆฌ์ŠคํŠธ์˜ ์†์„ฑ์ด ์•„๋‹ˆ๋ผ, Object์˜ ์†์„ฑ์ด ๋œ๋‹ค

    var a = [1,2,3]
    
    a.name = 'myarr'
    
    for (var i in a){
        console.log(i, a[i])
    }
    
    //0 1
    //1 2
    //2 3
    //name myarr   => ์†์„ฑ๊นŒ์ง€ ์ˆœํšŒ
    • for ... in ํ˜•ํƒœ๋Š” ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•ด์•ผํ•จ!

      • for ...in ์€ Object ์ž์ฒด์˜ ๋ชจ๋“  ์†์„ฑ์„ ์ˆœํšŒํ•œ๋‹ค

Array methods

  • sort

    • ๋น„๊ต ํ•จ์ˆ˜๊ฐ€ (์ธ์ž) ์—†์œผ๋ฉด ๋ฌธ์ž์—ด์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค

      • ์ด๊ฒŒ ์‹ซ๋‹ค๋ฉด ๋น„๊ต ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๋„ฃ๊ธฐ

    • ๋น„๊ตํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด, ํ•ด๋‹น ํ•จ์ˆ˜์˜ return ๊ฐ’์ด 0๋ณด๋‹ค ์ž‘์Œ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค

  • ๋ฌธ์ž์—ด ๊ด€๋ จ

    • join

      • ๋ฐฐ์—ด.join('haha')

  • toString

  • ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ

    • concat

      : ๋‘ ๊ฐœ์˜ ๋ฐฐ์—ด์„ ํ•ฉ์ณ์คŒ

  • ์›์†Œ ์‚ฝ์ž…/์‚ญ์ œ

    • push

    • pop

    • unshift

      • ์™ผ์ชฝ ๋์— ๋„ฃ๊ธฐ

    • shift

      • ์™ผ์ชฝ ๋์— ์žˆ๋Š” ๊ฒƒ ๋นผ๊ธฐ

  • index ํƒ์ƒ‰

    • indexOf

  • ๋ฐฐ์—ด ์กฐ์ž‘

    • splice(start[, deleteCount[, item1[, item2[, ...]]]])

      • ์›๋ณธ ๋ฐฐ์—ด ์ž์ฒด๋ฅผ ๋ฐ”๊ฟ”๋ฒ„๋ฆผ

      • ์›์†Œ์˜ ์ˆ˜์ •/์‚ญ์ œ๋„ ๊ฐ€๋Šฅ

        var a = [1,2,3]
        a.splice(1,2, "์ฒ˜์Œ", "๋‘๋ฒˆ") // 1๋ฒˆ์งธ ์œ„์น˜๋ถ€ํ„ฐ ๋‘ ๊ฐœ๋ฅผ ์ง€์šฐ๊ฒ ๋‹ค + "์ฒ˜์Œ", "๋‘๋ฒˆ" ์„ ๋ถ™์ด๊ฒ ๋‹ค
        // [1, "์ฒ˜์Œ", "๋‘๋ฒˆ"]
        
        var a = [1,2,3]
        a.splice(1,2, "์ฒ˜์Œ") //1๋ฒˆ์งธ ์œ„์น˜๋ถ€ํ„ฐ ๋‘ ๊ฐœ๋ฅผ ์ง€์šฐ๊ฒ ๋‹ค + "์ฒ˜์Œ" ์„ ๋ถ™์ด๊ฒ ๋‹ค
        // [1, "์ฒ˜์Œ"]
  • ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ

    • slice

      : return์„ ํ•ด์คŒ

JavaScript Functions

ํ•จ์ˆ˜ ์„ ์–ธ

1. ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ

function sum(a,b) {
    return a+b;
}
sum(1,2) //3

2. ํ•จ์ˆ˜ ํ‘œํ˜„์‹

// ๋ณ€์ˆ˜์— ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ํ• ๋‹น
var sub = function(a,b) {
    return a - b;
}
sub(1,2) //-1

3. ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜

(function(a,b){return a*b})(1,2) //2

4. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ (ES6)

var sum = (a,b) => a+b  //a+b ํ•œ ์ค„์ด๋ผ์„œ ์ค‘๊ด„ํ˜ธ{} ์ƒ๋žตํ•จ
sum(3,4) //7

var area = (r) => {
    const PI = 3.14;
    return r*r*PI;
}
area(1) //3.14

ํ•จ์ˆ˜ ์ธ์ž

  • JavaScript์—์„œ ํ•จ์ˆ˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ์— ๋Œ€ํ•œ ์ œํ•œ์ด ์—†์Œ

  • arguments ๊ฐ์ฒด๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ง„ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ

    function foo(a) {
        console.log(arguments); //arguments ์ฐ์–ด์„œ ํ™•์ธ ํ•ด๋ณด๊ธฐ
        return a
    }
    • ์–ด๋–ค ์ธ์ž๋„ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์œผ๋ฉด undefined ๋ผ๊ณ  ๋œธ

      • undefined

        : JavaScript์—์„œ ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™” ํ•  ๋•Œ ํ• ๋‹น ํ•ด ๋†“๋Š” ๊ฐ’

Last updated

Was this helpful?