1

我正在尝试将新值(来自外部 json 文件)映射到 javascript/jQuery 中的数组(数组或 KV 对的数组,从 php 文件查询到 mysql 生成)。数组的结构是:

"results":
[{"gender":"Male","DOB":"1993-09-22","location":"Main","procCode":"43653","preopDx1":"783.3","procedDate":"2008-06-02"},{"gender":"Female","DOB":"2001-11-07","location":"South","procCode":"11403","preopDx1":"216.5","procedDate":"2010-01-01"},...]

json 文件如下所示:

[ {“CPT”:“10021”,“RVU”:“1.27”},{“CPT”:“10022”,“RVU”:“1.27”}]

这个想法是

a) 遍历 myarray 值并找到每个 procCode

b) 将此 procCode 与 json 文件中相同的 cpt 代码匹配,并且

c) 将每个新的键/值对附加到 myarray 的每个“行”

function addRVU (myarray, myjson){
var newObj = $.map(myarray, function (i,res){
if(myarray[i].procCode == myjson[i].CPT){
    return myarray[i].RVU = myjson[i].RVU;
        }
    }

}

提前致谢!

4

2 回答 2

0

对于if(myarray[i].procCode == myjson[i].CPT),您只匹配具有相同索引的 json 和数组。循环匹配 json 中的所有元素应该可以解决您的问题。

或类似使用哈希映射RVU

h = {};
$.each(json, function(i, e){
    h[e.CPT] = e.RVU;
});

$.each(ar, function(i, e){
    e.RVU = h[e.procCode];
});
于 2013-07-09T00:21:04.597 回答
0
// First, convert JSON file into an object keyed off CPT code:
var jsonObj = {};
for (var i = 0; i < json.length; i++) {
    jsonObj[json[i].CPT] = json[i];
}

// Now update myarray elements
for (i = 0; i < myarray.length; i++) {
    // $.extend copies properties from 2nd object into 1st object
    $.extend(myarray[i], jsonObj[myarray[i].procCode]);
}
于 2013-07-09T00:13:14.227 回答