이 기사에서는 값을 사용하여 JavaScript 개체의 키를 얻는 방법을 배웁니다. 객체의 값은 해당 속성을 반복하여 찾을 수 있습니다. 이러한 각 속성을 검사하여 제공된 값과 일치하는지 확인할 수 있습니다.

값으로 JavaScript 객체의 키를 얻는 방법은 무엇입니까?
다음은 값을 기준으로 JavaScript 개체의 키를 얻는 방법입니다.
내용의 테이블
- for-in 루프 사용
- find 메소드() 사용하기
- filter() 메서드 및 Objectkey() 메서드 사용
- Object.entries() 및 Reduce() 메소드 사용
- Lodash _.findKey() 메소드 사용
- Object.values() 및 indexOf() 메서드 사용
방법 1: for-in 루프 사용
- 객체의 값은 해당 속성을 반복하여 찾을 수 있습니다.
- 이러한 각 속성을 검사하여 제공된 값과 일치하는지 확인할 수 있습니다. 객체의 속성은 객체에 대한 for 루프를 사용하여 얻습니다.
- 그런 다음 객체의 hasOwnProperty() 메서드를 사용하여 이러한 속성을 검사하여 상속된 속성이 아닌 객체의 직접적인 속성인지 확인합니다.
- 그런 다음 각 속성이 찾으려는 값과 동일한지 확인합니다. 값이 일치하면 속성이 반환됩니다. 이것이 물건의 가치를 결정하는 열쇠입니다.
예: 이 예는 위에서 설명한 접근 방식을 구현한 것입니다.
자바스크립트
function getKeyByValue(object, value) { for (let prop in object) { if (object.hasOwnProperty(prop)) { if (object[prop] === value) return prop; } } } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 100); console.log(ans);>
산출
key2>
방법 2: find Method() 사용
- Object.keys() 메서드는 객체의 모든 키를 반환하는 데 사용됩니다.
- 이 키 배열에서 find() 메서드는 이러한 키 중 제공된 값과 일치하는 것이 있는지 테스트하는 데 사용됩니다.
- find() 메소드는 테스트 함수를 만족하는 첫 번째 요소의 값을 반환하는 데 사용됩니다.
- 값이 일치하면 이 조건이 충족되고 해당 키가 반환됩니다. 이것이 물건의 가치를 결정하는 열쇠입니다.
메모: 이 방법은 ES6 사양에 추가되었으며 이전 브라우저 버전에서는 지원되지 않을 수 있습니다.
메이븐 저장소
예: 이 예는 위에서 설명한 접근 방식을 구현한 것입니다.
자바스크립트 function getKeyByValue(object, value) { return Object.keys(object).find(key =>객체[키] === 값); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>
산출
key1>
filter() 메서드 및 Objectkey() 메서드 사용
- 이 메서드에서는 object.keys 및 filter() 메서드를 사용하여 해당 값으로 JavaScript의 키를 가져옵니다.
- 우리는 주어진 키를 필터링하고 객체에 존재하는 경우 그 값을 반환합니다.
예: 이 예는 위에서 설명한 접근 방식을 구현한 것입니다.
자바스크립트
function getKeyByValue(obj, value) { return Object.keys(obj) .filter(key =>obj[키] === 값); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>
산출
[ 'key1' ]>
Object.entries() 및 Reduce() 메소드 사용
- 이 메서드에서는 object.entries() 및 Reduce() 메서드를 사용하여 해당 값으로 JavaScript의 키를 가져옵니다.
- 그리고 주어진 키의 값을 반환합니다.
예: 이 예는 위에서 설명한 접근 방식을 구현한 것입니다.
자바스크립트 function getKeyByValue(obj, value) { return Object.entries(obj) .reduce((acc, [key, val]) =>{ if (val === value) { acc.push(key); } 반환 acc; }, []); } const exampleObject = { key1: 'Geeks', key2: 100, key3: 'Javascript' }; ans = getKeyByValue(exampleObject, 'Geeks'); console.log(ans);>
산출
[ 'key1' ]>
사용 Lodash _.findKey() 메서드
- 이 방법에서는 lodash의 _.findkey() 방법을 사용하고 있습니다.
- 이는 주어진 객체의 키를 반환합니다.
예: 이 예는 위에서 설명한 접근 방식을 구현한 것입니다.
자바스크립트 // Requiring the lodash library const _ = require('lodash'); // Original array let users = { 'meetu': { 'salary': 36000, 'active': true }, 'teetu': { 'salary': 40000, 'active': false }, 'seetu': { 'salary': 10000, 'active': true } }; // Using the _.findKey() method // The `_.matches` iteratee shorthand let found_elem = _.findKey(users, { 'salary': 10000, 'active': true }); // Printing the output console.log(found_elem);>
산출:
seetu>
Object.values() 및 indexOf() 메서드 사용
이 메서드에서는 Object.values() 메서드를 활용하여 객체에서 모든 값을 추출한 다음 indexOf() 메서드를 사용하여 값 배열에서 대상 값의 인덱스를 찾습니다. 인덱스가 있으면 이를 사용하여 Object.keys()에서 반환된 키 배열에서 해당 키를 검색할 수 있습니다.
예:
자바스크립트 function getKeyByValue(object, value) { // Get array of object values const values = Object.values(object); // Find the index of the target value const index = values.indexOf(value); // If the value is found if (index !== -1) { // Get array of object keys const keys = Object.keys(object); // Return the key at the same index return keys[index]; } // If value is not found, return null or handle accordingly return null; } // Example object let obj = { name: 'Alice', age: 25, city: 'London' }; // Get the key for the value 'London' console.log(getKeyByValue(obj, 'London')); // Output: city>
산출
city>