如果我搜索“;附录”;使用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']
来绕过它,但我会使用数组。