Javascript 如何将键值对添加到作为变量创建的现有JSON对象中?
我正在使用传单制作一个基于Javascript的离线世界地图 下面是示例的一部分: 正如你可能看到的,世界上所有国家都有一个巨大的(13000行).js文件。一个小样本是:Javascript 如何将键值对添加到作为变量创建的现有JSON对象中?,javascript,json,dictionary,getjson,Javascript,Json,Dictionary,Getjson,我正在使用传单制作一个基于Javascript的离线世界地图 下面是示例的一部分: 正如你可能看到的,世界上所有国家都有一个巨大的(13000行).js文件。一个小样本是: “功能”:[{ “类型”:“功能”, “id”:“AFG”, “财产”:{ “姓名”:“阿富汗” }, “几何学”:{ “类型”:“多边形”, “坐标”:[ [ [61.210817, 35.650072], [62.230651, 35.270664], [62.984662, 35.404041], [63.193538
“功能”:[{
“类型”:“功能”,
“id”:“AFG”,
“财产”:{
“姓名”:“阿富汗”
},
“几何学”:{
“类型”:“多边形”,
“坐标”:[
[
[61.210817, 35.650072],
[62.230651, 35.270664],
[62.984662, 35.404041],
[63.193538, 35.857166],
[63.982896, 36.007957],
[64.546479, 36.312073],
//持续不断……
一切都很好。但是,我已经实现了一个功能,它将根据一个值(1-->100)为每个贴图着色。此属性从这个JSON变量获取
因此,如果键值对存在,它将为给定的国家/地区着色。例如:
"features": [{
"type": "Feature",
"id": "AFG",
"properties": {
"name": "Afghanistan",
"colorratio": "55" // Fetches the color ratio here!
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[61.210817, 35.650072],
[62.230651, 35.270664],
[62.984662, 35.404041],
[63.193538, 35.857166],
[63.982896, 36.007957],
// Goes on and on ..
静态地输入数据,它肯定有效。国家是彩色的
但是,我从后端接收这些数据,作为与上述JSON中的“ID”匹配的对象。例如,数据可以是:
{
"AFG": "25",
"RUS": "91",
"SWE": "67",
"NOR": "82",
"USA": "13"
},
我不知道如何匹配,例如,“AFG”:“25”
,并将其作为“数据比率”:“25”
,在这种情况下,阿富汗的巨大国家
变量。
由于国家/地区可能没有收到任何数据,因此该键值对不应该存在——只有在数据存在的情况下才应该创建它。使用map
、filter
和reduce
数组方法时看起来非常简单。到目前为止,您尝试了什么?(请参阅)@evolutionxbox猜想我可以更好地表述这个问题。我关心的是性能,因为带有countries变量的.js文件非常大。嗯,我会认为一旦JSON被解析并存储在内存中,那么查询该对象应该不会太糟糕。有人能证实吗?