Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要将键值对的对象转换为单独的列表项_Javascript_Json_Api_Key Value - Fatal编程技术网

Javascript 我需要将键值对的对象转换为单独的列表项

Javascript 我需要将键值对的对象转换为单独的列表项,javascript,json,api,key-value,Javascript,Json,Api,Key Value,我从一个api调用中获取数据,并接收一个键值对对象。我需要将这个对象拆分,以便每个键值对都成为无序列表中它自己的列表项 { "base": "USD", "date": "2018-05-30", "rates": { "AUD": 1.3247077029, "BGN": 1.6813961486, "BRL": 3.7063273728, "CAD": 1.2975412655, "CHF

我从一个api调用中获取数据,并接收一个键值对对象。我需要将这个对象拆分,以便每个键值对都成为无序列表中它自己的列表项

{
    "base": "USD",
    "date": "2018-05-30",
    "rates": {
        "AUD": 1.3247077029,
        "BGN": 1.6813961486,
        "BRL": 3.7063273728,
        "CAD": 1.2975412655,
        "CHF": 0.9897696011,
        "CNY": 6.4196182944,
        "CZK": 22.2102819807,
        "DKK": 6.3988995873,
        "GBP": 0.7522352132,
        "HKD": 7.8462861073,
        "HRK": 6.3525618982,
        "HUF": 274.7334938102,
        "IDR": 13947.6530261348,
        "ILS": 3.5790061898,
        "INR": 67.3899587345,
        "ISK": 105.6568088033,
        "JPY": 108.9752407153,
        "KRW": 1079.272696011,
        "MXN": 19.6711657497,
        "MYR": 3.9854711142,
        "NOK": 8.2069291609,
        "NZD": 1.4344910591,
        "PHP": 52.6203576341,
        "PLN": 3.7083046768,
        "RON": 3.9926925722,
        "RUB": 62.2279917469,
        "SEK": 8.8362276479,
        "SGD": 1.3400962861,
        "THB": 32.0598349381,
        "TRY": 4.4547799175,
        "USD": 1,
        "ZAR": 12.5649931224,
        "EUR": 0.8596973865
    }
}

^^^这是我从api收到的数据,我希望费率中的每一行都显示为自己的列表项。我应该使用for…in循环还是有办法使用Object.keys/Object.values来分割每个键值对?

rates
对象中获取所有键值,然后使用键值(国家/地区代码)作为键值并从原始
rates
对象中创建一个新数组

const data={“base”:“USD”,“date”:“2018-05-30”,“rates”:{“AUD”:1.3247077029,“BGN”:1.6813961486,“BRL”:3.7063273728,“CAD”:1.2975412655,“CHF”:.9897696011,“CNY”:6.4196182944,“CZK”:22.2102819807,“DKK”:6.3988995873,“GBP”:.7522352132,“HKD”:7.8462861073,“HRK”:6.352582,“HUF”:2742.7365938,“IDRs”:13961908:67.3899587345,“冰岛克朗”:105.656808033,“日元”:108.9752407153,“韩元”:1079.272696011,“墨西哥比索”:19.671165749,“马来西亚卢比”:3.9854711142,“挪威克朗”:8.2069291609,“新西兰元”:1.4344910591,“菲律宾比索”:52.62035576341,“印尼国家电力公司”:3.7083046768,“罗马尼亚卢比”:3.9912225722,“瑞典克朗”:62.2279917469,“瑞典克朗”:8.8362276479,“瑞典克朗”:1.340962881,“泰铢”:9834934欧元:47934美元”:.8596973865}};
常量键=对象键(数据率);
const rates=keys.map(key=>({[key]:data.rates[key]}));
控制台日志(费率)您还可以使用、和方法来获得所需的结果

演示

const obj={“base”:“USD”,“date”:“2018-05-30”,“rates”:{“AUD”:1.3247077029,“BGN”:1.6813961486,“BRL”:3.7063273728,“CAD”:1.2975412655,“CHF”:.9897696011,“CNY”:6.4196182944,“CZK”:22.2102819807,“DKK”:6.3988995873,“GBP”:.7522352132,“HKD”:7.8462861073,“HRK”:6.35258982,“HUF”:2742.73938,“IDRs”:13934818.89348“IRS”:139348:67.3899587345,“冰岛克朗”:105.656808033,“日元”:108.9752407153,“韩元”:1079.272696011,“墨西哥比索”:19.671165749,“马来西亚卢比”:3.9854711142,“挪威克朗”:8.2069291609,“新西兰元”:1.4344910591,“菲律宾比索”:52.62035576341,“印尼国家电力公司”:3.7083046768,“罗马尼亚卢比”:3.9912225722,“瑞典克朗”:62.2279917469,“瑞典克朗”:8.8362276479,“瑞典克朗”:1.340962881,“泰铢”:9834934欧元:47934美元”:.8596973865}};
让result=Object.entries(obj.rates).reduce((r,v)=>r.concat({[v[0]]:v[1]}),[]);
控制台日志(结果)

。作为控制台包装{max height:100%!important;top:0;}
您可以使用键/值对直接将条目与新对象映射

var数据={基数:“美元”,日期:“2018-05-30”,费率:1.7063273728,CAD:1.2975412655,CHF:0.989797696011,CHF:0.989797696011,CNY:1.292975412655,CHF:0.989797970:0.989797979:1.987,AUD:1.324:1.327,AUD:1.327:3.377:3.37377:3,CAD:1.297575754141414141414141414141412655,CHF:1,CHF:0:0.989797979797976969696969696969696011,CHF:0:0:0.9897979769696011,CHF:0:0.9897696011,CHF:0:0.9:0.98979797696011,CHF:0:0:0:0.989797979797696011,CHF:02696011,墨西哥比索:19.6711657497,马来西亚里亚尔:3.9854711142,挪威克朗:8.2069291609,新西兰元:1.4344910591,菲律宾比索:52.620357641,印尼国家电力公司:3.7083046768,罗马尼亚卢比:3.9926925722,卢布:62.2279917469,瑞典克朗:8.8362276479,新加坡元:1.3409662861,泰铢:32.0598349381,土耳其里亚尔:4.4547799175,美元:1,南非兰特:12.56491224,389865欧元},
rates=Object.entries(data.rates).map([k,v])=>({[k]:v}));
console.log(费率);

.as控制台包装{最大高度:100%!重要;顶部:0;}
欢迎来到Stack Overflow!请仔细阅读,尤其是您在这里的最佳选择是对相关主题进行研究,并尝试一下。如果您在做了更多研究和搜索后陷入困境,无法摆脱困境,请发布您的尝试,并明确说明您的困境。人们将乐于提供帮助.祝你好运!@JonasW.-他也会想要钥匙,所以可能是
Object.entries
或者只是一个简单的循环。你是在寻找结果['AUD,'BGN'…]和[1.3247077029,1.6813961486…]