inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

2.6) 반복문으로 배열과 객체 순회하기

Object.keys는 마치 배열과 같다고 생각하면 될까요?

해결된 질문

87

박선정

작성한 질문수 8

0

강의에서 아래 코드와 같이 배웠습니다.

근데 변수인 keys가 마치 배열에서 배열에 담긴 값들을 꺼내는 것 처럼

keys[i] 를 쓰니까 혼란이 옵니다.

그러면 Object.keys()를 배열이라고 봐도 되나요?

// 1) Object.keys 사용
// 객체에서 key 값들만 뽑아서 새로운 배열로 반환
let keys = Object.keys(person);

for (let i = 0; i < keys.length; i++) {
  console.log(keys[i]);
}

javascript

답변 2

1

이정환 Winterlood

안녕하세요 이정환입니다.

박선정님께서 주석에 작성하신 것 처럼 Object.keys 메서드는 인수로 전달된 객체로의 key 값들만 뽑아 새로운 배열로 반환 합니다. 따라서 Object.keys의 반환값은 배열이 맞습니다.

결과적으로 keys 라는 변수에는 person 객체의 키값들이 문자열 배열로 저장됩니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 박선정님.

질문해주신 내용에 대해 답변드리겠습니다. Object.keys() 메소드는 객체의 열쇠(key)들을 배열 형태로 반환합니다. 따라서, 이 결과를 통해 생성된 변수인 keys는 배열 함수 및 메소드를 사용할 수 있는 배열이라고 생각하셔도 됩니다.

let keys = Object.keys(person);

위 코드에서 keysperson 객체의 모든 키를 갖는 배열입니다. 그에 따라 keys[i]를 통해 각 키에 접근할 수 있고, keys.length를 이용해 배열의 길이, 즉 키의 개수를 쉽게 확인할 수 있습니다.

Object.keys() 메소드는 자바스크립트의 내장 함수로서 객체의 열쇠들을 배열 형태로 반환해 주는 역할을 합니다. 이를 통해 객체의 각 속성을 손쉽게 순회하며 작업을 진행할 수 있는 것입니다.

다음 문서에서 더 자세한 예제와 설명을 확인하실 수 있습니다:
- JavaScript Object.keys() 메소드에 대한 설명

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Editor Component의 최적화 불가능 이슈

0

40

2

useCallback ⊂ useMemo

0

38

2

라이브러리 설치 질문

0

35

2

linter 질문

0

42

2

감정일기장 vercel 배포 후 새로 고침 시 404페이지가 뜨는 이유

0

43

2

Sort 메서드 관련 아티클

0

44

2

4.1) React.js를 소개합니다 강의를 듣고 궁금한 점이 생겼습니다.

0

46

2

html, body에 적용하는 css 스타일 질문입니다.

0

42

2

eslint.config.js 설정 질문입니다.

0

95

2

존재하지 않는 일기 url입력 시 alert이 두 번 떠요

0

70

1

교재(3쇄)와 강의 내용 문의

0

72

2

12.13) 하단 여백 스타일링 관련 질문 드립니다.

0

94

2

에러 질문드립니다

0

111

2

VSCode 설정 문의

0

145

2

PPT 코드 관련 질문

0

68

2

useEffect와 lifecycle문의

0

93

2

프론트엔드 학습 수준 문의

0

112

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

114

2

데이터 로딩중 화면만 계속 나와요!!

0

103

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

134

2

이후의 커리큘럼 문의

0

157

2

실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.

0

116

2

프로바이더 컴포넌트의 위치는 어떤 기준인가요?

1

130

3

Date 객체에 관련하여 질문드립니다.

0

128

2