JS 배열의 생성, 내장메서드,

준비

배열은 단일 변수에 여러 값을 순차적으로 저장하는 데 사용됩니다.
각 항목은 쉼표(,)로 구분하고 대괄호(())로 묶습니다.
그것은 순서 정보(인덱스, 인덱스)를 가지고 있고 인덱스는 0부터 시작합니다.
인덱스를 통해 존재하지 않는 항목에 액세스하면 undefined가 반환됩니다.


console.log보다 console.table을 사용하면 배열을 더 쉽게 볼 수 있습니다.

  let arr = ('a','b','c');
  console.table(arr)


어레이 생성

배열은 다음과 같은 방법으로 만들 수 있습니다.

배열 리터럴

let arr=('a','b','c'); // ( 'a', 'b', 'c' )

Array() 생성자 함수

let arr1=new Array(2); // ( <2 empty items> ) (2를 length값으로 가지는 빈 배열)
let arr2=new Array('a','b','c'); // ( 'a', 'b', 'c' )
let arr3=new Array('abc'); // ( 'abc' )

Array.of() 내장 메서드

let arr1=Array.of(2); // ( 2 )
let arr2=Array.of('a','b','c'); // ( 'a', 'b', 'c' )
let arr3=Array.of('abc') // ( 'abc' )

Array.from() 내장 메서드

let arr1=Array.from('abc'); // ( 'a', 'b', 'c' )
let arr2=Array.from({ length: 3, 0:'a', 1:'b', 2:'c' }); // ( 'a', 'b', 'c' )
let arr3=Array.from({ length: 3 }, function (v,i) { return i; }); // ( 0, 1, 2 )


배열 내장 방식

원하는 것은 무엇이든 할 수 있습니다.
B. 배열에 내장된 메서드를 사용하여 요소를 변경합니다.
단, 요소 변경 시 각 방식별 연산 방식이 원래 배열을 손상시키지 않도록 주의해야 한다.

요소 변경 시 원본 배열 저장 교환 방법

  • 편곡자 Pop() 배열 끝에서 요소 제거(반환값: 요소 제거됨)
  • 도착.푸시() 배열 끝에 요소 추가(반환값: 배열 길이 변경)
  • arr.shift() 배열 앞의 요소 제거(반환값: 제거된 요소)
  • arr.unshift() 배열 시작 부분에 요소 추가(반환값: 배열 길이 변경)
  • 도착 후 뒤로 () 배열의 순서 역순(반환값: 역순으로 수정된 배열)
  • 도착.스플라이스() 시작 인덱스(포함)에서 개수만큼 제거하고 전달인자를 순서대로 삽입(반환값: 요소가 제거된 배열)
  • 도착.채우기() 배열의 모든 요소를 ​​인수로 교체(반환값: 수정된 배열)

요소 변경 시 원본 배열 저장 바뀌지 않는다 방법

  • 도착 디스크 () 시작 인덱스(포함)부터 종료 인덱스(미포함)까지의 요소를 슬라이스(추출)합니다.
    (반환값: 추출된 요소를 포함하는 새로운 배열)
  • arr.concat() arr에 전달된 요소 추가(반환 값: 요소가 추가된 새 배열)
  • 도착.조인() 인수를 전달하여 요소를 연결하고 문자열로 변환(반환값: 변환된 문자열)

기타 방법

  • Array.isArray()
    const arr=(1,2,3);
    typeof arr; // object
    Array.isArray(arr); // true

    위의 코드처럼 배열의 타입을 출력하기 위해 typeof를 사용한다면 객체입니다.
    배열인지 확인하려면 Array의 내장 Array.isArray() 메서드를 사용하십시오. 배열인지 여부를 부울로 반환합니다.

  • arr.indexOf() 항목의 인덱스를 반환합니다.
    배열에 값이 없으면 -1을 반환합니다.
  • 도착.포함() 요소가 부울 값으로 배열에 포함되어 있는지 여부를 반환합니다.


어레이 복사

JavaScript 복사 정보 얕고 깊은 JS 사본(velog.io/@hahagarden) 따로 마련.

  • 배열.슬라이스() 플랫 카피입니다.
    사본과 원본이 함께 변형됩니다.
  • … 확산 연산자 첫 번째 수준까지만 딥 카피입니다.
    다차원 배열인 경우 두 번째 수준 이후의 얕은 복사본입니다.
  • JSON.parse(JSON.stringify(arr)) 딥 카피입니다.