22-10-05-JavaScript(3) Array

YJ·2022년 10월 5일
0
post-thumbnail
객체 {} - 객체의 리터럴 - 변수에 할당되기 전의 값
배열 [] - 배열의 리터럴 
"" - 문자의 리터럴
123 - 숫자의 리터럴

객체 자료형은 key : value로 이루어짐
key: value를 합쳐서 한 쌍을 프로퍼티라고 부름
.length로 배열의 길이를 알 수 있다.

Array(2) - 길이가 2인 배열
Array(2,3) - 배열 [2,3]
배열 안 배열 [[],[]]

배열 생성

  1. 리터럴로 선언
    let myArr = [];

  2. 배열의 생성자 함수
    let myArray = new Array(5); // 길이가 5인 배열 생성
    ley myArray2 = new Array(2,3,4); // [2,3,4]
    2개 이상 넣는 순간 여러개 숫자를 원소로 한다.

배열 인덱스 번호를 통한 값 변경이 가능하지만
문자열의 값은 바꿀 수 없다.

기본형 데이터 : 숫자, 문자열, 불리언, null, undefined symbol
기본형 데이터는 값 변경이 불가능

배열의 특징

요소의 값 수정 가능
인덱스로 요소의 값 호출 가능
객체 타입으로 존재

값의 변경

const cafe = ['coffee', 'cake', 'tea', 'cookie']
cafe[0] = 'tea'
typeof(cafe) // object

프로퍼티 .length

요소의 갯수를 구하고 싶은 경우 

맨 앞에 요소 추가 unshift()

unshift는 기본적으로 배열의 length를 반환한다.
push 맨 뒤 요소 추가

맨 앞 요소 삭제 shift()

pop 맨 뒤 요소 삭제

맨 뒤 요소 추가 push()

맨 뒤 요소 삭제 pop()

특정 인덱스에 요소 위치 splice()

새로운 요소 추가 가능, 삭제, 변경 가능

위치하려는 인덱스, 삭제할 요소 개수, 배열에 추가할 요소
.splice(추가할 위치, 삭제할 갯수, 대체할 요소)
.splice(추가할 위치, 삭제할 갯수)
-1인 경우 뒤에서부터 0, -1 에 해당
...(-2)요소(-1)요소(0);

아무것도 지우고 싶지 않을 경우 -> 삭제할 갯수 : 0 대입

배열 일부를 잘라 새로운 배열로 반환 - slice()

원본이 아닌 얕은 복사본 반환
slice(잘라낼 시작점 인덱스, 종료 지점 인덱스-1까지)
.slice(1,3); -> 1번 인덱스부터 2번 인덱스까지 

요소 인덱스 찾기 indexOf()

indexOf('df');
indexOf('sdf', 1);
지정한 위치부터 요소를 탐색한다.
찾으려는 조건이 존재하지 않는다면 -1을 반환
가장 처음 만나는 인덱스 번호를 반환

특정 요소 포함되었는지 확인하는 includes()

cafe.includes('bread');
전체 요소 대상으로 탐색
문자열인 경우 대소문자 구분
cafe.includes('bread',3);
3번 인덱스부터 탐색 시작

요소 연결하여 하나의 값 만드는 join()

배열 내의 원소들을 연결하여 하나의 값으로 만듦
해당 자료형은 문자열 ""
빈문자열을 넣을시 띄어쓰기 없이 연결
const example = ['coffee' , 'cake'];
example.join('/'); -> 'coffee/cake'

하나의 요소라도 조건을 만족하는지 확인 find()

arr.find(i=>i>5);
find()는 단 하나의 값을 찾아 반환

filter()는 끝까지 다 찾아봄

모든 요소가 조건을 만족하는지 확인 filter()

특정 조건에 부합하는 값들을 찾아 새로운 배열을 만들어 출력
"배열"
조건 메소드가 자체적으로 존재

각각 요소에 함수 호출하는 map()

함수를 호출한 결과를 모아 새로운 배열을 반환
원하는 값을 뽑아내서 새로운 배열로 만들어냄
따로 조건 메소드가 없다.

각각의 요소를 실행하고 싶은 경우 forEach()

forEach() -> 결과값 반환 (순회만 함)
arr1.forEach(i=>console.log(i));
map -> 결과값을 모아서 새로운 배열로 반환

배열 내 요소 정렬 sort()

숫자는 문자열과 다르게 정렬함
배열 안의 원소를 기본적으로 문자로 취급
유니코드 상의 순서로 배치 1000 200 40 순

숫자를 정렬하는 방법
arrNum.sort(function(a,b){return a-b;});
profile
함께 배워나가고 싶습니다!

0개의 댓글