遍历对象的所有属性,比较属性的值与要查找的值,找到匹配的属性并返回属性名作为键。
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"