Array -1

Popconnect·2023년 3월 7일
		let arr1 = [10, 20, 30, 40]; // 전통적 배열선언
        let arr2 = Array(10, 20, 30); // 새로운 배열선언
        
        for(i=0; i<arr1.length; i++)    {
            result += arr1[i];
        } // 전통적인 배열검사
        
        /** 새로운
        		배열검사	*/
        //for in
        for( let i in arr1 )    {
            console.log( arr1[i], i);
        }

        //for of
        for (let value of arr1) {
            console.log(value);
        }
//배열과 함수
        const doFunc1 = function(data1, data2)  {
            console.log(data1, data2);
        }

        //가변인자
        const doFunc2 = function()  {
            //arguments : arguments에 대한 배열
            //console.log(arguments.length);
            for(i=0; i<arguments.length; i++)   {
                console.log(arguments[i]);
            }
        }
        
        //다수의 인자를 넣어도 argument 예약어가 받아줌
        doFunc2(10 + '하나');
        doFunc2(10, 20);
        doFunc2(10, 20, 30);
        
        
        //가변숫자인자 (...변수명)
        function addNum(...numbers) {
            let sum = 0;
            
            for(let number of numbers)  
                sum += number;

            return sum;
        }
        
        console.log(addNum(1, 3));
        console.log(addNum(1, 3, 5, 7));
        
		let num1 = 10;
        let num2 = num1;
        console.log(num1, num2);
        //값복사
        num1 = 20;
        console.log(num1, num2);
        ----------------------------
        let arr1 = [1, 2, 3];
        let arr2 = arr1;
        console.log(arr1[0], arr1[1], arr1[2]);
        console.log(arr2[0], arr2[1], arr2[2]);
		//참조값 복사
        arr1[0] = 100;
        arr1[1] = 200;
        arr1[2] = 300;
        //Array 참조자료형이라 둘다 바뀜 
        console.log(arr1[0], arr1[1], arr1[2]);
        console.log(arr2[0], arr2[1], arr2[2]);

Arr1의 주소값만 다르고 데이터 저장된곳은 같다. 저장소: Heap
[1, 2, 3] 에 달린 주소값이 arr1 배열에 배치된상태로
[100, 200, 300] 으로 저장소값이 바뀌어도 저장소는 같아서 같이 변경됨.

profile
Programmer

0개의 댓글