如果我搜索“;附录”;使用JavaScript?

如果我搜索“;附录”;使用JavaScript?,javascript,Javascript,我有一个对象,如下所示: var RevenueCodes = { 41020: "Addendum", 41040: "Cardiology Assessment", 41060: "Chiropractic Assessment", 41290: "Neurology File Review - CAT", 41240: "Neurology Assessment"

我有一个对象,如下所示:

var RevenueCodes = {
            41020: "Addendum",
            41040: "Cardiology Assessment",
            41060: "Chiropractic Assessment",
            41290: "Neurology File Review - CAT",
            41240: "Neurology Assessment"
            }

如果我使用JavaScript搜索“附录”,我怎么才能找到数字呢?

我会有两个变量,
RevenueByCode
CodeByRevenue
,前者是您所拥有的,而后者是相同的,只是键/值颠倒了,所以您可以以(可能)为代价获得恒定的时间查找通过循环第一个变量来设置第二个变量

你能行

var code;
for (var key in RevenueCodes) {
   var val = RevenueCodes[key];
   if (val === 'Addendum') code = key;
}
要获取代码(您应该进行一些优化),并且如果您想这样做,还可以使用相同的循环结构来设置其他查找。

您可以使用枚举对象属性

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;
    }
}
var RevenueCodes={
41020:“增编”,
41040:“心脏病学评估”,
41060:“脊骨疗法评估”,
41290:“神经病学档案审查-CAT”,
41240:“神经学评估”
};
for(RevenueCodes中的var propertyName){
if(收入编码[propertyName]=“附录”){
日志(“属性名称:%s”,propertyName);
打破
}

}
Javascript有直接的方法来实现这一点。您需要循环遍历所有键,比较值,然后选择正确的一个。。如果要重复执行此操作,则需要构建一次反向映射并使用它…

技术上可能重复的,我认为这是有效的语法,但对象的成员名称不应以数字开头。例如,引用
RevenueCodes.41020
是不合法的。当然,你可以说
RevenueCodes['41020']
来绕过它,但我会使用数组。