<JavaScript 총정리5>

수민🐣·2022년 1월 28일
0

JavaScript

목록 보기
26/32

📚 Array.prototype.toString()

: 문자열이 아닌 것을 문자열로 반환해준다.
Array.toString()

📚 Array.prototype.join()

: 배열의 모든 요소를 연결해 하나의 문자열로 반환한다.
Array.join([separator])
separator Optional : 배열의 각 요소를 구분할 문자열을 지정

  • separator가 생략될 경우, 배열의 요소들이 쉼표로 구분
  • separator가 빈 문자열일 경우, 모든 배열의 요소들이 아무 문자도 없이 연결

📚 Array.prototype.reverse()

: 호출한 배열의 순서를 반전하고 원본 배열을 변형한 다음 그 참조를 반환하는 메소드 이며 첫 번째 요소는 마지막 요소가 되며 마지막 요소는 첫 번째 요소가 된다.
Array.reverse()

📚 Array.prototype.sort()

: 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환하는 메소드이며 원 배열에도 정렬된다. 기본 정렬 순서는 문자열의 유니코드 코드 포인터 순서를 따른다. => 오름차순
Array.sort([compareFunction])
compareFunction Optional : 정렬 순서를 정의하는 함수

  • compareFunction를 생략하면, 각 문자의 유니코드 코드 포인터 순서값에 따라 정렬된다. => 오름차순
 const arr = [1, 2, 'cherry', 'mango', 'strawberry', 'watermelon', 'pineapple', 'peach'];
    console.log(arr.toString()); // 결과 : 1,2,cherry,mango,strawberry,watermelon,pineapple,peach

    console.log(arr.join()); // separator를 생략하면 쉼표로 구분
                            // 결과 : 1,2,cherry,mango,strawberry,watermelon,pineapple,peach
    console.log(arr.join('/')); // 결과 : 1/2/cherry/mango/strawberry/watermelon/pineapple/peach
    console.log(arr.join('')); // separator가 빈문자열일 경우, 아무 문자도 없이 연결
                              // 결과 : 12cherrymangostrawberrywatermelonpineapplepeach

    console.log(arr.reverse()); // 결과 :'peach','pineapple','watermelon','strawberry','mango','cherry',2,1
    console.log(arr); // 결과 : 'peach','pineapple','watermelon','strawberry','mango','cherry', 2, 1

    console.log(arr.sort()); // 결과 : 1, 2, 'cherry', 'mango', 'peach', 'pineapple', 'strawberry', 'watermelon'
    console.log(arr); // 결과 : 1, 2, 'cherry', 'mango', 'peach', 'pineapple', 'strawberry', 'watermelon'


📚 Array.prototype.map()

: 배열 내의 모든 요소들을 주어진 함수로 한번씩 순서대로 가공하여 그 결과를 새로운 배열로 반환한다.
Array.map(callback(currentValue[, index[, array]])[, thisArg])
callback : 새로운 배열 요소를 생성하는 함수(세가지 인수를 가짐)
currentValue : 처리할 현재 요소.
index Optional : 처리할 현재 요소의 인덱스.
array Optional : map()을 호출한 배열.
thisArg Optional : callback을 실행할 때 this로 사용되는 값.

 const arr1 = [3, 23, 8, 1];
    console.log(arr1.map(x => x * 2)); // 결과 : [ 6, 46, 16, 2 ]

index 인수 추가

 console.log(arr1.map((value , index) => { return {value : value , index : index} }));
                                                    //{ value: 3, index: 0 },
                                                    //{ value: 23, index: 1 },
                                                    //{ value: 8, index: 2 },
                                                    //{ value: 1, index: 3 }
    const arr4 = [ {name: 'BSM', age: 27, group: 'HSMBF'},
                   {name: 'HSM', age: 26, group: 'BSMGF'}];
    console.log(arr4.map((item, index, array) => { return { id : index, name : item.name, age : item.age, group : item.group} }));
                                                        // { id: 0, name: 'BSM', age: 27, group: 'HSMBF' },
                                                        // { id: 1, name: 'HSM', age: 26, group: 'BSMGF' }


📚 Array.prototype.filter()

: 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환하는 메소드이다.
Array.filter(callback(element[, index[, array]])[, thisArg])
callback : 각 요소를 시험할 함수 (true를 반환하면 요소를 유지하고, false를 반환하면 버림)
element : 처리할 현재 요소.
index Optional : 처리할 현재 요소의 인덱스.
array Optional : filter를 호출한 배열.
thisArg Optional : callback을 실행할 때 this로 사용하는 값.

  • 어떤 요소도 함수 테스트를 통과하지 못했을 경우, 빈 배열을 반환한다.
const arr2 = [5, 1, 100, 40, 12, 55];
    console.log(arr2.filter(i => i >= 10)); // 결과 : [ 100, 40, 12, 55 ]
    console.log(arr.filter(y => y.length > 6)); // 결과 : [ 'pineapple', 'strawberry', 'watermelon' ]


📚 스택과 큐

  • 스택(Stack)
    나중에 들어간 것이 먼저 나오는 구조(LIFO) 또는 먼저 넣은 것이 나중에 나오는 구조(FILO)라 불리는 데이터 구조이다.
    ➡ 스택은 push/pop 메소드로 구현 할 수 있다.
  • 큐(Queue)
    먼저 넣은 것이 먼저 나오는 구조(FIFO)라고 불리는 데이터 구조이다.
    ➡ 큐는 push/shift 메소드로 구현 할 수 있다.

📚 Array.prototype.push()

: 배열의 끝에 하나 이상의 요소를 추가하는 메소드이며 배열의 새로운 길이(length)를 반환한다.
Array.push(element1[, ...[, elementN]])
element : 배열의 끝에 추가할 요소.

📚Array.prototype.pop()

: 배열에서 마지막 요소를 제거하고 그 요소를 반환한다.
Array.pop()

  • 빈 배열일 경우, undefined를 반환한다.

📚 Array.prototype.shift()

: 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환한다.
Array.shift()

  • 빈 배열일 경우, undefined를 반환한다.

📚Array.prototype.unshift()

: 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환한다.
Array.unshift([...elementN])
` elementN : 배열 맨 앞에 추가할 요소.

 const arr3 = ['Push up', 'Squat', 'Deadlift', 'Snatch'];
    console.log(arr3.push('Power Clean', 'Burpee')); // 배열의 새로운 길이 반환 , 결과 : 6
    console.log(arr3); // 결과 : [ 'Push up', 'Squat', 'Deadlift', 'Snatch', 'Power Clean', 'Burpee' ]

    console.log(arr3.pop()); // 배열의 마지막 요소 삭제하고 삭제된 요소 반환, 결과 : Burpee
    console.log(arr3); // [ 'Push up', 'Squat', 'Deadlift', 'Snatch', 'Power Clean' ]

    console.log(arr3.shift()); // 배열의 첫번째 요소 삭제하고 삭제된 요소 반환, 결과 : Push up
    console.log(arr3); // [ 'Squat', 'Deadlift', 'Snatch', 'Power Clean' ]

    console.log(arr3.unshift('Double Under', 'Push Jerk', 'Thruster')); // 배열의 새로운 길이 반환, 결과 : 7
    console.log(arr3); // [ 'Double Under', 'Push Jerk', 'Thruster', 'Squat', 'Deadlift', 'Snatch', 'Power Clean' ]
    

0개의 댓글

관련 채용 정보