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

标签 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": 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.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":.8596973865}};

const keys = Object.keys(data.rates);
const rates = keys.map(key => ({ [key]: data.rates[key]}));

console.log(rates);

关于javascript - 我需要将键值对的对象转换为单独的列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50629223/

相关文章:

javascript - HTML5 Canvas 文本编辑

php - 如何使用 HTML 表将数据库从一个页面获取值发布到另一个页面

objective-c - 如何在 Objective-C 中遍历一个简单的 JSON 对象?

mysql - 从对象数组中选择与 MYSQL JSON 中的属性匹配的对象

api - 使用亚马逊(产品广告)API 禁用加入按钮

java - api中如何定义接口(interface)才合理?抛出异常或者返回ErrorCodeBean结果?

javascript - 如果值不为 true,则删除禁用输入中的值

javascript - 使用 Javascript 根据子键值查找 JSON 索引

api - API网关如何通过内省(introspection)验证访问 token

javascript - 传递动态 Javascript HTML 的 ID