我有一个如下对象:
var RevenueCodes = {
41020: "Addendum",
41040: "Cardiology Assessment",
41060: "Chiropractic Assessment",
41290: "Neurology File Review - CAT",
41240: "Neurology Assessment"
}
如果我使用JavaScript搜索“附录”,如何找到该号码?
答案 0 :(得分:0)
我会有两个变量,RevenueByCode
和CodeByRevenue
,前者是你拥有的,后者是相同的,除非键/值反转,所以你可以在必须(可能)通过循环第一个变量来设置第二个变量的费用。
你可以做到
var code;
for (var key in RevenueCodes) {
var val = RevenueCodes[key];
if (val === 'Addendum') code = key;
}
获取代码(您应该优化一下),如果您想这样做,也可以使用相同的循环结构来设置其他查找。
答案 1 :(得分:0)
var number;
for(var key in RevenueCodes) { // iterate
if(RevenueCodes.hasOwnProperty(key) && RevenueCodes[key] === "Addendum") {
// if it's not a prototype property and the value is Addendum, store key
// as number and stop the loop
number = key;
break;
}
}
答案 2 :(得分:0)
您可以使用for...in
枚举对象属性。
var RevenueCodes = {
41020: "Addendum",
41040: "Cardiology Assessment",
41060: "Chiropractic Assessment",
41290: "Neurology File Review - CAT",
41240: "Neurology Assessment"
};
for (var propertyName in RevenueCodes) {
if (RevenueCodes[propertyName] === "Addendum") {
console.log("property name: %s", propertyName);
break;
}
}
答案 3 :(得分:0)
Javascript有直接的方式来做到这一点。你需要遍历所有的键,比较值然后选择正确的值。如果你想重复这样做,你需要构建一次反向映射并使用它...