일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- pnpm
- 라이브러리
- 공식문서
- 코딩테스트
- stompjs
- 스나이퍼팩토리
- @stomp/stompjs
- frontend
- MDN
- React Query
- 실시간통신
- 프론트엔드
- JavaScript
- TypeScript
- 상태 관리 라이브러리
- 컴포넌트설계
- Server State
- 프로젝트캠프
- 배열
- tanstack query
- 자바스크립트
- sucoding
- 리액트프로젝트
- npm
- 프로젝트
- 배열메서드
- React
- radixui
- 수코딩
- shadcn
- Today
- Total
yunicornlab
[JavaScript 배열 메서드] 자바스크립트 배열 메서드 - 접근/확인 본문
배열 요소에 접근하는 방법 - at, 대괄호 표기법
📌 at( )
ES2022(ES13)에서 새롭게 추가된 메서드로, 대괄호 표기법과 달리 배열의 특정 요소를 가져올 때 음수 인덱스 지원이 가능하다.
배열.at(index)
const arr = [10, 20, 30, 40];
console.log(arr.at(0)); // 10 (첫 번째 요소)
console.log(arr.at(-1)); // 40 (마지막 요소)
console.log(arr.at(-2)); // 30 (뒤에서 두 번째 요소)
console.log(arr.at(10)); // undefined (범위를 초과)
console.log(arr.at(-10)); // undefined (음수로 범위를 초과)
음수 인덱스 지원하기 때문에 arr.at(-1)은 마지막 요소를 가져온다.
즉, arr[arr.length - 1]와 동일하다.
범위를 벗어난 경우, undefined를 반환한다.
매개변수 없이 배열.at()만 호출하면 첫 번째 요소를 반환한다.
⏳ 시간 복잡도는 O(1)이다. 특정 인덱스의 요소를 가져오는 것이므로 빠르다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/at
Array.prototype.at() - JavaScript | MDN
Array 인스턴스의 at() 메서드는 정숫값을 받아 해당 인덱스에 있는 항목을 반환하며, 양수와 음수를 사용할 수 있습니다. 음의 정수는 배열의 마지막 항목부터 거슬러 셉니다.
developer.mozilla.org
📌 대괄호 표기법
JavaScript에서 배열 요소를 가져오는 가장 기본적인 방식이다.
at() 메서드와는 달리 음수 인덱스를 직접 지원하지 않는다.
따라서 arr[-1]을 하거나 범위를 벗어나면 undefined를 반환한다.
const arr = [10, 20, 30, 40];
console.log(arr[0]); // 10 (첫 번째 요소)
console.log(arr[1]); // 20 (두 번째 요소)
console.log(arr[arr.length - 1]); // 40 (마지막 요소)
console.log(arr[-1]); // ❌ undefined (음수 인덱스 지원 안됨)
console.log(arr[10]); // ❌ undefined (배열 크기 초과)
⏳ 시간 복잡도는 O(1)이다. 특정 인덱스의 요소를 가져오는 것이므로 빠르다.
배열인지 확인하는 방법 - isArray
📌 isArray( )
배열인지 아닌지 확인하는 가장 확실한 방법이다.
Array.isArray(value)
console.log(Array.isArray([1, 2, 3])); // true (배열)
console.log(Array.isArray("hello")); // false (문자열)
console.log(Array.isArray({ a: 1 })); // false (객체)
console.log(Array.isArray(null)); // false
console.log(Array.isArray(undefined)); // false
console.log(typeof [1, 2, 3]); // "object" (배열인지 아닌지 구별 불가능!)
console.log(Array.isArray([1, 2, 3])); // true
자바스크립트에서 typeof로 배열을 확인하면 "object"가 나오기 때문에 배열을 정확하게 확인할 수 없다.
그렇기때문에 Array.isArray()를 사용하는 것이 확실한 방법이다.
매개변수 없이 Array.isArray()만 호출하면 false를 반환한다.
⏳ 시간 복잡도는 O(1)이다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
Array.isArray() - JavaScript | MDN
Array.isArray() 정적 메서드는 전달된 값이 Array인지 판단합니다.
developer.mozilla.org
배열인지 확인하는 방법 - length 속성
📌 length
배열의 길이를 구할 때 사용하는 가장 기본적인 속성이다.
const arr = [10, 20, 30, 40];
console.log(arr.length); // 4 (배열의 길이)
console.log([].length); // 0 (빈 배열)
배열 길이를 직접 변경하면 요소가 수정될 수 있기 때문에 주의해야 한다.
배열 길이를 줄이면 요소가 삭제되고,
배열 길이를 늘이면 기존 요소는 그대로지만, 새 요소는 empty 상태가 된다.
const arr = [1, 2, 3, 4, 5];
arr.length = 3;
console.log(arr); // [1, 2, 3] (뒤의 요소 삭제됨)
arr.length = 5;
console.log(arr); // [1, 2, 3, <2 empty items>]
⏳ 시간 복잡도는 O(1)이다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/length
Array.length - JavaScript | MDN
Array 인스턴스의 length 데이터 속성은 해당 배열의 요소 수를 나타냅니다. 해당 값은 부호 없는 32비트 정수이며 배열의 최대 인덱스 보다 항상 큽니다.
developer.mozilla.org
'Frontend > JavaScript' 카테고리의 다른 글
[JavaScript 배열 메서드] 자바스크립트 배열 메서드 - 생성 (1) | 2025.03.12 |
---|---|
[JavaScript] 자바스크립트 배열 메서드 뽀개기 - 요약 (0) | 2025.03.12 |
화살표 함수 사용을 위한 문법 (0) | 2024.12.11 |
JavaScript의 핵심! 실행 컨텍스트 이해하기 (0) | 2024.08.07 |
JavaScript의 특징 - 멀티 패러다임 언어 (2) | 2024.07.22 |