Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

비전공 프론트엔드 개발자

21-12-4일 Javascript 공부내용 본문

카테고리 없음

21-12-4일 Javascript 공부내용

JJ_hyun 2021. 12. 5. 17:41
  • forEach()
        // forEach -> 이해못함
        const array1 = ['a', 'b', 'c'];
        console.log(array1);
        array1.forEach(element =>  console.log(element));
        //어떤 개념인지 이해가 안됨...
막막하게 이해가 안되는 부분이였다. 제일 마지막줄의 등호가 왜 있어야 하며 왜 > 기호는 안되는지
설명이 안됫다. 그래서 이해하는건 포기. 학원가서 물어봐야겠다. 

.

.

  • IndexOf()

- 기본적으로 내장함수이다  

-- 배열 = 원하는 특정 배열값의 존재여부 등.

--문자열 = 원하는 문자열을 검색하여 찾는다. 

        var testIndex = 'abcdef'
        console.log(testIndex.indexOf('ab'));   // 0
        console.log(testIndex.indexOf('cd'));   // 2
        console.log(testIndex.indexOf('ed'));   // -1
        console.log(testIndex.indexOf('ad'));   // -1
        console.log(testIndex.indexOf('ff'));   // -1

 

.

.

  • join()

- 배열에 모든 요소를 연결해 하나의 문자열을 만든다. 

        var hello = ['yang', 'hyun', 'jun'] ;
        console.log(hello.join(""));  // yanghyunjun
        console.log(hello.join('-')); // yang-hyun-jun
        console.log(hello.join('ll')); // yangllhyunlljun
.
.
  • map() -> 이해가 1도 안됨. pass 
.
.
  • pop()

- 배열의 마지막 요소를 제거하고, 그 요소를 반환함. 

-- 원본에 영향을 준다. 그리고 다시 강조!!!! 제거한 요소를 반환한다. 
        var poppin = ['hyun', 'jun','yang'];
        console.log(poppin.pop());
        console.log(poppin); // 'yang' 이 제거된 모습 확인 가능.
.
.
 
  • push()
- 배열 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환한다. 
-- 원본 배열에 영향을 주며, 마지막 배열에 요소를 추가한다. 
--- 반환값은 lenght 로 값을 준다.  
        var pushPush = ['babe', 'push', 'baby', 'maku'];
        console.log(pushPush.push('big'));  //  5 -> pushPush의 원래 lenght는 4였으나 big이 추가되어 5가 됨.

        var 구기종목 = ['축구', '농구', '야구'];
        var 새로운종목 = 구기종목.push('럭비', '수영');
       
        console.log(구기종목); // Array(5) 위와 같은 내용.  
        console.log(새로운종목); // 5 위와 같은 내용. 

 

 

  • reverse() 

- 원본 배열의 순서를 반전하고, 그 값을 반환한다. 

 

        var nums = ['one', 'two', 'three', 'four']
        console.log('check:', nums); // ['one', 'two', 'three', 'four']
        nums.reverse();
        console.log(nums);   // ['four', 'three', 'two', 'one']

        var allNums = nums.reverse();
        console.log('reverse:', allNums); // ['one', 'two', 'three', 'four']
 
 

첫번째 콘솔이 원본의 nums 이다. 

두번째 콘솔은 nums의 reverse를 주었고, 

리버스된 nums을 다시 리버스하면서 allNums로 변수명을 지정해주었고,

마지막 콘솔은 원본 nums 와 같은 결과값을 받았다. 

.

.

  • shift()

- 배열의 첫번재 요소를 제거하고 제거된 요소를 반환한다. 

-- 원본 배열의 길이를 변하게 한다. (빈 문자열은 'undefined' 를 반환한다. 

        var array3 = ['하나' , '둘', '셋', '넷']
        var arrayShift = array3.shift();
        console.log(array3); // ['하나', '둘', '셋', '넷']
        console.log(arrayShift); // 하나
        console.log(typeof(arrayShift)); // string -> 만약 하나 의 자리가 빈 문자열로 바꾸면 undefined로 값이 나온다.
 

shift() 자체는 이해했으나, 예시중 while 문에 사용하는게 있었다. 

막혔던 부분은 ! === undefined 에서 이해가 안되서 넘어갈 수가 없었다. 

.

.

 

  • slice()

- 어떤 배열의 begin ~ end 까지 ( end 값은 제외)에 대한 얇은 복사본을 새로운 배열로 반환해 준다. 

( 얇은 복사본 이게 이해가 안됨. 아마 해석하면서 난 오류라고 생각됨. ) 

-- 원본 배열은 변하지 않고 새로운 배열로 반환해준다. 

--- 기억하자!!! end 요소는 포함되지 않고!!! 새로운 배열로 반환해 준다. 

        var oneSlice = ['하나', '둘', '셋', '넷', '다섯']
        console.log(oneSlice.slice(3)); //3번째 원소부터 새로운 배열을 생성해 반환해줌 -> 넷, 다섯
        console.log(oneSlice.slice(1,4)); // 1번째 원소부터 3번재 원소까지 새로운 배열을 생성해 번환해줌.(4번은 포함안됨) -> 둘, 셋, 넷
        console.log(oneSlice.slice(-4)); // -는 뒤에서 부터 카운팅 되어서 반환해줌. -> 둘, 셋, 넷, 다섯
        console.log(oneSlice.slice(7,4)); //begin 부분이 배열보다 큰 경우 빈 문자열을 반환함. -> [] = 빈 문자열
        console.log(oneSlice.slice(1,-1)); // 두번째 원소부터 뒤에서 두번재 원소까지 반환함. ( begin= '둘' -1=다섯, end 부분이라 제외) -> 둘, 셋, 넷
 

'하나' = 0 , '둘' = 1 ... 이다 헷갈리지 말자. 

.

.

 

  • sort() 

- 배열의 요소를 적절한 위치에 정렬 후 그 배열을 반환한다. 

-- 기본정렬 순서는 문자열의 유니코드 코드 포인트를 따른다. 

        var korean = ['하', '다', '차', '마', '가', '파'];
        korean.sort(); // 유니코드 코드를 기반으로 정리를 해줌.
        console.log(korean); //원본의 배열을 정리해준다. -> ['가', '다', '마', '차', '파', '하']

        var numbers = [1, 7, 300, 90000, 10000000000, 20000];
        numbers.sort(); // 문자열 유니코드 코드를 기반으로 하기때문에 숫자의 크기보단 앞열의 숫자에 정렬을 둔 모습.
        console.log(numbers); //원본의 배열을 정리해준다. -> [1, 10000000000, 20000, 300, 7, 90000]
 

문자의 경우 이해하기가 쉽지만, 숫자의 경우 숫자가 큰 순서가 아닌, 유니코드 기반으로 정렬을 해주고, 복잡한 정렬일수록 정렬법이 달라질 수가 있다. <- 변수가 많음. 

.

.

 

  • unshift()

- 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환한다. 

        var names = ['yang', 'hyun', 'jun', 'park', 'kim', 'jae', 'maan'];
        console.log(names.length); // -> 7
        console.log(names.unshift('what','is')); //1. 새로운 요소를 추가 2. 반환되는 값은 길이 값이다. -> 9
        console.log(names); // 반환된 요소를 확인해 보면 앞에 2개의 요소가 추가되어 반환된것을 확인 할 수 있다.
->  ['what', 'is', 'yang', 'hyun', 'jun', 'park', 'kim', 'jae', 'maan']
 

첫번재 콘솔의 값은 7, unshift 를 사용한 값은 9 ( 2개의 값을 추가함) 

원본 배열의 영향을 주는걸 확인 할 수 있고, 앞에 추가가 된다는것도 알수 있었다. 

.

.

.

.

.

.

재현쌤 자료를 기반으로 자주 사용하는 메서드 들을 찾아보고 사용해 보았다. 

막상 사용하면 알것 같은데 과연 이 메서드들로 어떤 복잡한 식을 풀어갈지 조금은 막막하다

내일부터는 1만시간의 법칙 코드리뷰를 받은걸 바탕으로 다시 작업을 해볼 생각이다. 

꾸준히 하자. 화이팅!!!