Javascript의 객체에서 value로 key를 찾는 방법을 소개합니다.
1. Object.keys()와 find()를 이용하여 value로 key 찾기
일반적으로 value로 key를 찾으려면, 모든 key를 가져와서 key의 value와 찾으려는 value가 같은지 확인해야 합니다.
아래와 같이 Object.keys()
와 find()를 이용하여 구현할 수 있습니다.
- Object.keys()는 object의 모든 key를 배열로 리턴
- find()는 배열의 모든 key를 순회하면서, 인자로 전달된 함수가 true일 때 key를 리턴
- find()로 일치하는 값을 찾지 못하면 undefined 리턴
function getKeyByValue(obj, value) {
return Object.keys(obj).find(key => obj[key] === value);
}
let myObj = { 1: 'a', 2: 'b', 3: 'c', 4: 'd'};
let key = getKeyByValue(myObj, 'c');
console.log(key);
key = getKeyByValue(myObj, 'a');
console.log(key);
key = getKeyByValue(myObj, "Java");
console.log(key);
Output:
3
1
undefined
2. Object에 value가 존재하는지 확인
getKeyByValue()
에서 value를 찾지 못하면 undefined가 리턴됩니다. if문에서 결과를 undefined와 비교하면 value가 object에 존재하는지 확인할 수 있습니다.
function getKeyByValue(obj, value) {
return Object.keys(obj).find(key => obj[key] === value);
}
let myObj = { 1: 'a', 2: 'b', 3: 'c', 4: 'd'};
if (getKeyByValue(myObj, "a") !== undefined) {
console.log("Found 'a' value");
}
if (getKeyByValue(myObj, "Java") === undefined) {
console.log("Not found 'Java' value");
}
Output:
Found 'a' value
Not found 'Java' value
Loading script...
Related Posts
- Javascript - 현재 날짜/시간을 항상 한국 기준으로 가져오기
- Javascript - 문자열 사이에 문자 넣기
- Javascript - 버튼 활성화/비활성화 시키는 방법
- Javascript - 버튼 이름 변경하기
- Javascript - div 안의 내용 가져오기, 변경, 추가, 삭제
- Javascript - <ol>, <ul>에 <li> 동적 추가, 삭제
- Javascript - div 생성, 추가, 삭제 방법
- Javascript - 테이블 행(tr) 숨기기, 보이기
- Javascript - div에 링크 거는 방법
- Javascript - 자식 요소(element) 개수 확인
- Javascript - 요소(element) 복사, 붙여넣기
- Javascript - div에 클릭 이벤트(onclick) 설정 방법
- Javascript - 체크박스 선택/해제 시, 텍스트박스 활성화/비활성화
- Javascript - input 숫자만 입력받도록 설정
- Javascript - 자식 노드 모두 제거
- Javascript - 체크박스 선택, 해제 방법
- Javascript - input text 값 가져오기
- JavaScript - 문자열을 배열(Array)로 변환
- JavaScript - 특정 문자열의 포함 여부 확인 (includes, 정규표현식)
- JavaScript - 문자열 비교 방법, 5가지
- JavaScript - 문자열 바꾸기(replace, 정규식 치환)
- JavaScript - 배열 전체 출력 (for, forEach, for in, for of)
- JavaScript - 한번만 실행되는 함수 (once: true)
- JavaScript - 선택된 checkbox 값 가져오기
- JavaScript - element(버튼, div) 보이기 숨기기
- JavaScript - 숫자를 배열로 변경하는 방법
- JavaScript - div, 태그 안의 내용 가져오기
- JavaScript - 부모, 형제, 자식 element 찾기
- JavaScript - 클래스 이름으로 element 찾는 방법
- JavaScript Array find() 함수
- JavaScript Array splice() 함수
- JavaScript의 contains() 함수
- JavaScript sort() 함수, 예제 소개
- JavaScript - Set 생성 및 초기화
- JavaScript Set add() 함수