도슐랭스타
JavaScript-Array(배열) 객체 본문
배열(array)
- 여러 개의 항목을 하나의 변수에 저장할 때 사용한다.
- 객체 리터럴을 사용하거나 인스턴스로 배열을 만들 수 있다.
var nums = [1,2,3]; //리터럴을 사용한 배열
var nums = new Array(1,2,3); //Array 객체를 사용한 배열
length 속성
- 배열에 몇 개의 요소가 있는지 알고 싶을 때 사용한다.
var nums = [1,2,3];
nums.length
for문과 length를 사용해서 모든 요소들을 확인할 수도 있다.
var nums = [1,2,3,4,5];
for(let i = 0; i < nums.length; i++){
console.log(nums[i]);
}
concat() 함수
- 배열과 다른 배열의 값을 합쳐서 새로운 배열을 만드는 함수이다.
- 새로운 배열을 만드는 것이기 때문에 기존의 배열에는 영향을 주지 않는다.
- concat을 사이에 두고 배열의 위치를 바꾸면 연결 순서가 달라진다.
var nums1 = [1,2,3];
var nums2 = [4,5,6];
nums1.concat(nums2);
var nums1 = [1,2,3];
var nums2 = [4,5,6];
nums2.concat(nums1);
join() 함수
- 배열의 요소를 연결하는 함수이다.
- 연결 기호를 직접 지정할 수 있다. (지정하지 않으면 쉼표(,)로 요소를 구분한다.)
var nums = [1,2,3];
nums.join("-");
push() 함수와 unshift() 함수
- 새로운 요소를 추가할 때 사용하는 함수이다.
- push() 함수 : 배열의 맨 끝에 요소를 추가할 때 사용한다.
- unshift() 함수 : 배열의 맨 앞에 요소를 추가할 때 사용한다.
var nums = ["3","4"];
nums.push("5","6"); // -> 4 (추가된 후 배열 요소의 개수를 반환한다.)
nums.unshift("1","2"); // -> 6
pop() 함수와 shift() 함수
- 배열에서 요소를 삭제할 때 사용하는 함수이다.
- pop() 함수 : 배열의 맨 끝에 있는 요소를 삭제할 때 사용한다.
- shift() 함수 : 배열의 맨 앞에 있는 요소를 삭제할 때 사용한다.
var nums = ["0","1","2","3","4"];
nums.pop(); // -> '4' 삭제되는 요소를 반환한다.
nums.shift(); // -> '0'
splice() 함수
- 원하는 위치의 요소를 삭제하거나 추가하는 함수이다.
- 인수가 1개일 때 -> 인수가 가리키는 인덱스의 요소부터 맨 끝 요소까지 삭제한다.
- 인수가 2개일 때 -> 첫 번째 인수 = 인덱스 값, 두 번째 인수 = 삭제할 개수
- 인수가 3개일 때 -> 첫 번째 인수 = 인덱스 값, 두 번째 인수 = 삭제할 개수, 세 번째 인수 = 새로 추가할 요소
- 요소를 삭제하지 않고 새로운 요소를 추가하고 싶다면 두 번째 인수에 0을 넣으면 된다.
var nums = [0,1,2,3,4,5]
nums.splice(4);
nums.splice(2,1);
nums.splice(2,0,2);
slice() 함수
- 원하는 위치의 요소들을 추출하는 함수이다.
- 인수가 1개일 때 -> 인수가 가리키는 인덱스의 요소부터 맨 끝 요소까지 추출한다.
- 인수가 2개일 때 -> 첫 번째 인수부터 시작해서 두 번째 인수 직전까지 요소를 추출한다.
- 추출만 하는 것이기에 원래 배열은 변경되지 않아 삭제하는 용도로는 사용할 수 없다.
var nums = [1,2,3,4,5,6];
nums.slice(3);
nums.slice(1,4); // 1<= <4
var nums1 = [1,2,3,4,5,6];
var nums2 = nums1.slice(1,5); //nums1에서 추출한 요소들로 새로운 배열 nums2를 만들었다.
splice() 함수는 원래 배열이 수정되지만 slice() 함수는 원래 배열에는 영향을 주지 않는다.
도슐랭스타
★★★☆☆ : 함수가 있어서 편리할 듯!
파이썬에도 pop()이 있어서 반가웠다. 파이썬 배울 때도 느꼈지만 미리 함수를 만들어줘서 참 편한 것 같다. 친절해 친절해~
반응형
'JavaScript' 카테고리의 다른 글
JavaScript-DOM(문서 객체 모델) 요소 추가와 노드 삭제/순서배열(2) (0) | 2023.08.12 |
---|---|
JavaScript-DOM(문서 객체 모델) 요소에 접근하기(1) (0) | 2023.08.05 |
JavaScript-객체(object) (0) | 2023.07.22 |
JavaScript-스코프(scope), 호이스팅(hoisting), var, let, constant (0) | 2023.07.18 |
JavaScript-함수 (0) | 2023.07.11 |
Comments