Web/Javascript

[Javascript] 모던 JS 5.4 (배열) 과제

동띵 2022. 5. 25. 12:46

1) 배열은 복사가 될까요?

-> 4

 

2) 배열과 관련된 연산

let styles = ["Jazz", "Blues"];
styles.push("Rock-n-Roll");
styles[parseInt((styles.length - 1) / 2)] = "Classics";
styles.shift();
styles.unshift("Rap", "Reggae");

 

3) 배열 컨텍스트에서 함수 호출하기

-> 함수를 arr에 push하면 arr = ["a", "b", function()~]가 된다. 
위 함수에서 this는 arr를 가리키기 때문에 
a, b, function() {
alert( this );
}가 출력된다.

 

4) 입력한 숫자의 합 구하기

function sumInput() {
    let numbers = [];
    let sum = 0;
    
    while(true) {
        let input = prompt("숫자를 입력해 주세요", 0);
        if (isNaN(input) || input === '' || input === null) break;
        numbers.push(+input);
    }
    for (let num of numbers) {
        sum += num;
    }
    return sum;
}

 

5) 최대합 부분 배열

function getMaxSubSum(arr) {
    let maxSum = 0;
    let tmpSum = 0;
    
    for (let num of arr) {
        tmpSum += num;
        maxSum = Math.max(maxSum, tmpSum);
        if (tmpSum < 0) tmpSum = 0;
    }

    return maxSum;
}