2021. 1. 18. 11:58ㆍFront-end/Javascript
- 코어 객체의 종류 : Array, Date, String, Math
- 코어 객체의 생성
- 예) const today = new Date();
- 예) const msg = new String("Hello");
- 이 때 today, msg는 생성된 객체를 가리키는 레퍼런스 변수
- Array (배열)
- 배열: 여러 개의 원소들을 연속적으로 저장하고 전체를 하나의 단위로 다루는 데이터 구조
var n = [4, 5, -2, 28, 33];
var cities = ["Seoul","Tokyo","Newyork","Sapporo","Fukuoka"];
- 배열의 각 원소에 접근하는 방법 : 배열이름[index] << 이 때 index는 0부터 시작한다.
cities[0] = "Okinawa"; // "Seoul" 자리에 "Okinawa" 저장
- 배열을 이용하면 반복문으로 데이터 처리를 쉽게 할 수 있음
- 배열을 만드는 방법
- 1) [ ]로 배열 만들기
- (1) 배열 만들기
var plots =[-20, -5, 0, 15, 20];
var week = ["월","화","수","목","금","토","일"];
- (2) 배열 크기와 원소 추가
배열은 처음 만들어진 크기로 고정되지 않고 원소를 추가하면 늘어난다. 다만 배열의 마지막에 한 번에 하나씩 원소를 더할 수 있다.
plots[5] = 30 ; // plots 배열에 6번째 원소 추가, 배열의 크기는 6으로 늘어난다.
* 그러나 원소 추가는 반드시 맨 끝에 한 개씩만 가능함 (현재 원소가 6개 있는 상태에서 갑자기 인덱스 10은 허용되지 않음) --> plots[10] = 33; // 오류
- 2. Array 객체로 배열 만들기
- 1) 초기 값을 가진 배열 생성
var week = new Array("월","화","수","목","금","토","일");
- 2) 초기화되지 않은 배열 생성
var week = new Array(7);
- 3) 빈 배열 생성 : 초기에 배열의 원소 개수를 예상 할 수 없는 경우 빈 배열을 생성할 수 있다
var week = new Array();
처음엔 빈 배열이지만 원소를 순서대로 삽입하면 배열 크기가 자동으로 늘어난다
* 이 때도 마찬가지로 인덱스 순서대로 하나씩 삽입하여야 함
- 배열의 원소 개수, length 프로퍼티
- Array 객체의 length 프로퍼티는 배열의 크기를 나타냄
- 사용자가 임의로 값을 변경할 수 없는 읽기 전용임
- 배열의 특징
- 배열은 Array 객체이다.
- 배열에는 여러 타입의 데이터가 섞여 저장될 수 있다
- Array 객체의 메소드 활용 (https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/concat) 참고
메소드 |
설명 |
concat(arr) |
현재 배열에 배열 arr의 원소들을 덧붙여 만든 새 배열 리턴. 기존의 배열에 영향을 주지 않는다(새로운 배열이 만들어짐) |
join([separator]) |
배열의 모든 원소를 연결하여 하나의 문자열로 만들어 리턴. 각 원소 사이에 separator로 지정된 문자열 삽입. separator가 생략되면 ","이 사용 기존의 배열에 영향을 주지 않는다(새로운 배열이 만들어짐) |
reverse() |
원소를 역순으로 재배열하고, 이를 복사한 새로운 배열 리턴 원래의 배열에 변화를 준다 |
slice(idxA[,idxB]) |
splice랑 차이 있음, slice(추출) / splice(삭제) * 배열에서 추출한 요소를 가지고 새로운 배열을 만들어 사용하려면 slice() * 배열에서 일부 요소를 삭제하려면 splice() 두 인덱스 idxA와 idxB 사이의 원소들로 구성된 새 배열 리턴. 인덱스 idxB의 원소는 포함되지 않음. idxB가 생략되면 끝 원소까지 포함 기존의 배열에 영향을 주지 않는다 |
sort() |
현재 배열을 증가 순으로 수정. 이를 복사한 새 배열 리턴 원래의 배열에 변화를 준다 |
toString() |
원소들을 모두 연결하여 하나의 문자열로 만들어 리턴. 원소와 원소 사이에 "," 삽입 |
push(),unshift() |
push-배열의 맨 끝에 요소를 추가/ unshift-배열의 맨 앞에 요소를 추가 추가하는 요소는 하나일 수도 있고 두 개 이상일 수도 있다. 원래의 배열에 변화를 준다 |
pop() / shift() |
pop: 배열의 맨 뒤 요소를 삭제 / shift: 배열의 맨 앞 요소를 삭제 원래의 배열에 변화를 준다 |
splice() |
원하는 위치의 요소를 삭제하거나 추가하는 함수 (첫번째인수: 위치/ 두번째 인수: 삭제할 개수/ 세번째 인수: 추가할 요소) 인수가 1개일 경우: arr.splice(2) // 인덱스2부터 끝까지 삭제 인수가 2개일 경우: arr.splice(2,1)//인덱스 2부터 1개의 요소만 삭제 인수가 3개일 경우: arr.splice(2,1,"js") //인덱스 2부터 1개의 요소를 삭제하고 삭제한 위치에 "js" 요소 추가 * 기존의 요소를 삭제하지 않고 그 위치에 새로운 요소를 추가하고 싶다면 삭제할 개수를 지정하는 두 번째 인수에 0을 넣으면 된다. * 여러 개의 요소를 추가하고 싶을 때는 추가하고 싶은 요소를 세번째 인수부터 차례대로 나열 arr.splice(1,0,"b","c","d"); 원래의 배열에 변화를 준다 |
indexOf |
주어진 값과 일치하는 값이 있는 배열 요소의 첫 인덱스를 찾는다 ≒ lastIndexOf |
'Front-end > Javascript' 카테고리의 다른 글
[객체]사용자 객체 만들기 (0) | 2021.01.18 |
---|---|
[객체] 1. 코어 객체 - 4) Math (0) | 2021.01.18 |
[객체] 1. 코어 객체 - 3) String (0) | 2021.01.18 |
[객체] 1. 코어 객체 - 2) Date (0) | 2021.01.18 |
[객체] 객체의 개념과 유형 (0) | 2021.01.18 |