객체의 값은 키를 이용한 점(.) 표기법이나 대괄호([]) 표기법으로 쉽게 찾을 수 있다. 반대의 경우는 조금 복잡한데, 아래와 같은 방법이 있다.
let obj = {
1: 1,
2: 1,
3: 3,
4: 1,
100: 4,
200: 5,
};
// 찾고자 하는 값
let val = 4;
// 객체의 키 배열을 먼저 구한다
// 해당 배열에서 값이 일치하는 객체의 키를 찾는다
let count = Object.keys(obj).find(x => obj[x] === val);
console.log(count); // 100
Object.keys() 메서드는 객체의 키를 배열 형태로 반환한다.
const object1 = {
a: 'somestring',
b: 42,
c: false
};
console.log(Object.keys(object1));
// Expected output: Array ["a", "b", "c"]
배열의 find() 메서드는 주어진 조건을 만족하는 첫 번째 요소를 반환한다. 조건에 부합하는 요소가 없으면 undefined를 반환한다.
const array1 = [5, 12, 8, 130, 44];
const found = array1.find(element => element > 10);
console.log(found);
// Expected output: 12