logo

값으로 JavaScript 객체의 키를 얻는 방법은 무엇입니까?

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

값으로 JavaScript 객체의 키 가져오기

값으로 JavaScript 객체의 키를 얻는 방법은 무엇입니까?




다음은 값을 기준으로 JavaScript 개체의 키를 얻는 방법입니다.

내용의 테이블

방법 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>