- 遍历对象的所有属性,比较属性的值与要查找的值,找到匹配的属性并返回属性名作为键。
function findKeyByValue(obj, value) {
for (const key in obj) {
if (obj[key] === value) {
return key;
}
}
return null; // 没有找到匹配的键
}
const myObj = { a: 1, b: 2, c: 3 };
console.log(findKeyByValue(myObj, 2)); // 输出 "b"
2.使用 Object.entries()
方法将对象转换为键值对数组,然后使用Array.prototype.find()
方法查找匹配的键值对,并返回键。
function findKeyByValue(obj, value) {
const result = Object.entries(obj).find(([key, val]) => val === value);
return result ? result[0] : null;
}
const myObj = { a: 1, b: 2, c: 3 };
console.log(findKeyByValue(myObj, 2)); // 输出 "b"