TIL 05. JavaScript-Array Method

ㅎㅐ수·2020년 9월 19일
0

[TIL] JavaScript

목록 보기
4/7

Array 메소드

Array.prototype 메소드

모든 Array 인스턴스는 Array.prototype으로부터 메소드와 프로퍼티를 상속받는다.
이렇게 상속받은 Array.prototype 메소드는 크게 다음과 같이 구분 가능하다.

  1. 원본 배열을 변경하는 메소드
  2. 원본 배열을 변경하지 않고 참조만 하는 메소드
  3. 원본 배열을 반복적으로 참조하는 메소드
  • 원본 배열을 변경하는 Array.prototype 메소드
    (1) push() - 하나 이상의 요소를 배열의 가장 마지막에 추가한다.
var array = [1, 2, 3, 4];
array.push("수");
console.log(array) // [1, 2, 3, 4, 수] 출력!

(2) pop() - 배열의 가장 마지막 요소를 제거한다.

var array = [1, 2, 3, 4];
array.pop();
console.log(array) // [1, 2, 3] 출력!

(3) shift() - 배열의 가장 첫 요소를 제거한다.

var array = [1, 2, 3, 4];
array.shift();
console.log(array) // [2, 3 ,4] 출력!

(4) unshift() - 하나 이상의 요소를 배열의 가장 앞에 추가한다.

var array = [1, 2, 3, 4];
array.unshift(-1, 0);
console.log(array) // [-1, 0, 1, 2, 3, 4] 출력!

(5) reverse() - 배열의 순서를 전부 반대로 교체한다.

var array = [1, 2, 3, 4];
array.reverse();
console.log(array) // [4, 3, 2, 1] 출력!

(6) sort() - 해당 배열의 배열 요소들을 알파벳 순서에 따라 정렬한다. 이 메소드는 배열 요소를 모두 문자열로 보고 정렬하므로, 숫자나 불리언과 같은 타입의 요소들은 잘못 정렬될 수도 있다.

var strArr=["나이", "강아지", "다람쥐", "라디오"];
var numArr=[10, 21, 1, 2, 3];
strArr.sort(); // ["강아지", "나이", "다람쥐", "라디오"]
numArr.sort(); // [1, 10, 2, 21, 3] // 숫자는 각 자릿수 별로 비교된 후, 정렬됨

(7) splice() - 기존의 배열 요소를 제거하거나 새로운 배열 요소를 추가하여 배열의 내용을 변경한다. 첫 번째 인수는 새로운 요소가 삽입될 위치의 인덱스이며, 두 번째 인수는 제거할 요소의 개수이다. 그 이후의 인수들은 모두 배열 요소로서 지정된 인덱스부터 차례대로 삽입된다. 이 메소드는 배열에서 제거된 요소를 배열의 형태로 반환하며, 아무 요소도 제거되지 않았으면 빈 배열을 반환한다.

var arr = [1, true, "JavaScript", "자바스크립트"];
//인덱스 1의 요소부터 2개의 요소를 제거한 후, false와 "C언어"를 그 자리에 삽입함.
var removedElement = arr.splice(1, 2, false, "C언어");
arr;            // [1,false,C언어,자바스크립트]
removedElement; // [true,JavaScript]
  • 원본 배열은 변경하지 않고 참조만 하는 메소드
    1. join() - join() 메소드는 배열의 모든 요소를 하나의 문자열로 반환한다.
    2. slice() - 전달받은 시작 인덱스부터 종료 인덱스 바로 앞까지의 모든 배열 요소를 추출하여 새로운 배열을 반환한다.
var arr = [1, true, "JavaScript", "자바스크립트"];
arr.slice(1, 3); // [true,JavaScript]
arr.slice(1);    // [true,JavaScript,자바스크립트 ]
  1. concat() - 해당 배열의 뒤에 인수로 전달받은 배열을 합쳐서 만든 새로운 배열을 반환한다.
  2. toString() - toString() 메소드는 해당 배열의 모든 요소를 하나의 문자열로 반환한다.
  • 원본 배열을 반복적으로 참조하는 메소드
    - map(): 해당 배열의 모든 요소에 대하여 반복적으로 명시된 콜백 함수를 실행한 후, 그 실행 결과를 새로운 배열에 담아 반환한다.
var arr = [1, -2, 3, -4];  // 배열 arr의 각 요소마다 Math.abs() 함수가 호출되고 그 결괏값이 배열로 저장됨.
var absoluteValues = arr.map(Math.abs);
absoluteValues; // [1,2,3,4]
(Math.abs는 주어진 숫자의 절대값을 반환하는 함수.)

- filter(): 해당 배열의 모든 요소에 대하여 반복적으로 명시된 콜백 함수를 실행한 후, 그 결괏값이 true인 요소들만을 새로운 배열에 담아 반환한다.

var arr = [-10, 5, 100, -20, 40];
function compareValue(value) {
    return value < 10;
}
var lessTen = arr.filter(compareValue);
lessTen; // [-10,5,-20]

참고(여기에 아주아주 잘 나와있다!!!)

0개의 댓글