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