On this page
유사 배열 객체
수정하기
문서 생성 2021-05-13 17:10:54 최근 수정 2022-12-14 20:56:59
On this page
유사 배열 객체(array-like object)
- 배열처럼 인덱스로 프로퍼티 값에 접근 가능하고
length
프로퍼티도 갖는 객체 - ex) 문자열 타입
문자열은 유사 배열이기 때문에 arr[1]
을 사용해서 값을 변경할 수 없다.
const name = 'yj'name[1] = 'k'name // 'yj', 바뀌지 않는다.
진짜 배열로 바꾸기
DOM 쿼리 작업을 수행해 유사 배열 형태의 DOM 원소 리스트를 반환한 경우에 Array.from()
을 사용해 진짜 배열로 바꿀 수 있다.
const nodelist = document.querySelectorAll('a');let elements = Array.from(nodelist);Array.isArray(nodelist); // falseArray.isArray(elements); // true
스프레드 연산자를 사용해 nodeList
를 배열로 가져올 수도 있다.
const nodeList = document.querySelectorAll('p');console.log(nodeList); // [p, p, p]const arr = [...nodeList];console.log(Array.isArray(arr)) // true
문자열 순서 뒤집기
배열에는 reverse()
라는 메서드가 있지만 문자열은 그렇지 않다. 그래서 문자열을 배열로 바꾼 뒤 reverse()
를 사용하고 다시 문자열로 되돌리면 간단하게 뒤집힌 문자열을 만들 수 있다.
let str = "hello";console.log(str.split("").reverse().join("")); // "olleh"