Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- flex
- KDT 프로그래머스
- vue 이벤트 수신
- 다른컴퓨터에서 git사용
- Vue
- SCSS extend
- git 같은계정 다른 컴퓨터
- 쌓임맥락
- 고양이 사진 검색기
- nextjs사용법
- KDT 프로그래머스 데브코스 프론트엔드
- netlify redirect
- 프로그래머스 데브코스 프론트엔드
- intersection opserver
- SCSS use
- 프로그래머스 프론트엔드 데브코스
- SCSS import
- Spacer
- 리액트
- SCSS forward
- 리스트 렌더링
- vue 지역 컴포넌트
- vuex map
- 폼 입력 바인딩
- 이벤트 수식어
- react next
- 프로그래머스 데브코스
- 프로그래머스 K_Digital Training
- vue mixin
- postcss
Archives
- Today
- Total
혼자 적어보는 노트
[Javascript] 배열(Array)을 객체(object)처럼 사용? 본문
기본 코테 문제를 풀고 다른 사람들의 코드를 구경하던 중
배열에 관해 새로운 사실을 알게 되었다.
const arr = ["A", "B", "C"];
자주 볼 수 있는 배열인데, 여기에 key-value를 추가할 수 있다는 사실..!!
const arr = ["A", "B", "C"];
arr["First"] = "AAA";
arr["Second"] = "BBB";
console.log(arr);
// ['A', 'B', 'C', First: 'AAA', Second: 'BBB']
console.log(arr.length); // 3
console.log(arr["First"]); // AAA
console.log(arr["Second"]); // BBB
배열 안에 속성을 추가해 줄 수 있는 것이다.
const arr = ["A", "B", "C"];
console.log(typeof arr);
// object
그래서 typeof 로 값을 확인하면 object가 나오던 것이였나 싶다..
왜 이때 의문을 가지지 않았을까
추가로 알아보니
spread 연산자를 사용한 array를 object로 변환도 가능하다.
const arr = ["A", "B", "C"];
console.log({ ...arr });
// {0: 'A', 1: 'B', 2: 'C'}
for in을 이용하여 key를 확인해보면 key가 없는 부분은 숫자로 나타난다.
const arr = ["A", "B", "C"];
arr["First"] = "AAA";
arr["Second"] = "BBB";
for (let key in arr) {
console.log(key);
}
// 0
// 1
// 2
// First
// Second
for of를 사용하면 배열요소들만 나온다.
* forEach도 마찬가지
const arr = ["A", "B", "C"];
arr["First"] = "AAA";
arr["Second"] = "BBB";
for (let value of arr) {
console.log(value);
}
// A
// B
// C
'Javascript' 카테고리의 다른 글
[Javascript] spread 연산자의 이점 / 객체의 참조 값 (0) | 2022.03.04 |
---|---|
[Javascript] 날짜 및 시간 변환 (0) | 2022.02.27 |
[Javascript] 문자열 자르기, 문자 추출 / substr() / substring() / slice() / charAt() (0) | 2022.02.15 |
[Javascript] 정규 표현식을 활용한 문자열 다루기 (0) | 2022.02.13 |
[Javascript] Debounce (디바운스) (0) | 2022.02.02 |
Comments