이 글에서는 JavaScript 객체를 반복하는 방법을 배웁니다. 반복하는 동안 객체의 속성을 하나씩 반복하며 반복에 사용하는 방법에 따라 이러한 속성에 대한 액세스가 다를 수 있습니다.
아래에서 설명하는 객체를 반복하는 방법에는 여러 가지가 있습니다.
내용의 테이블
- for…in 루프 사용
- Object.entries() 메소드 및 map() 메소드 사용
- forEach() 메서드와 object.keys() 메서드 사용
- Lodash _.forOwn() 메소드 사용
방법 1: 사용 for...in 루프
for..in 루프를 사용하여 객체의 속성을 반복할 수 있습니다. 이 루프는 객체의 모든 비Symbol 반복 가능 속성을 반복하는 데 사용됩니다. 일부 객체에는 프로토타입에서 상속될 수 있는 속성이 포함될 수 있습니다. 그만큼 hasOwnProperty() 메소드를 사용하여 속성이 객체 자체에 속하는지 확인할 수 있습니다. 객체의 각 키 값은 키를 객체의 인덱스로 사용하여 찾을 수 있습니다.
통사론:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } }>예: 이 예에서는 위에서 설명한 접근 방식의 구현을 보여줍니다.
자바스크립트
function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } } } iterateObject();> 산출
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
방법 2: 사용 Object.entries() 메서드 그리고 지도() 방법
그만큼 Object.entries() 메서드 객체 자체의 열거 가능한 문자열 키 속성 쌍의 배열을 반환하는 데 사용됩니다. 반환된 배열은 지도() 쌍에서 키와 값을 추출하는 방법. 키-값 쌍의 키와 값은 배열 쌍의 첫 번째와 두 번째 인덱스에 액세스하여 추출할 수 있습니다. 첫 번째 인덱스는 키에 해당하고 두 번째 인덱스는 쌍의 값에 해당합니다.
통사론:
Object.entries(exampleObj).map(entry =>{ 키 = 항목[0]을 놓으세요; 값 = 항목[1]을 설정합니다. console.log(키, 값); });>예: 이 예에서는 위에서 설명한 접근 방식의 구현을 보여줍니다.
자바스크립트 function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ 키 = 항목[0]을 놓으세요; let value = 항목[1]; console.log(키, 값); }); } iterateObject();> 산출
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
방법 3: 사용 forEach() 메서드 그리고 object.keys() 메서드
Object.keys()는 객체의 키 배열을 반환하고forEach()>배열의 각 요소를 반복할 수 있는 배열 메서드입니다.
예: 이 예에서는 위에서 설명한 접근 방식의 구현을 보여줍니다.
자바스크립트 function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ const 값 = exampleObj[키]; console.log(`${key}: ${value}`); }); } iterateObject();> 산출
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery>
방법 4: 사용 Lodash _.forOwn() 메서드
이 접근 방식에서는 객체를 반복하는 데 도움이 되는 Lodash _.forOwn() 메서드를 사용합니다.
예: 이 예에서는 위에서 설명한 접근 방식의 구현을 보여줍니다.
자바스크립트 // Defining Lodash variable const _ = require('lodash'); let users = { 'a': 1, 'b': 2, 'c': 3 }; _.forOwn(users, function (value, key) { console.log(key, '=', value); });> 산출:
a = 1 b = 2 c = 3>
방법 5: Object.values() 메서드 및 forEach() 메서드 사용
Object.values() 메서드는 객체의 열거 가능한 속성 값 배열을 반환합니다. 이것을 forEach() 메소드와 결합하면 각 값을 반복할 수 있습니다. 해당 키에 액세스하려면 Object.keys() 메서드를 동시에 사용할 수 있습니다.
통사론:
Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[index]; console.log(키, 값); });>예:
자바스크립트 function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[index]; console.log(키, 값); }); } iterateObject();> 산출
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>