【问题标题】:digging into child objects and reconstruct the data挖掘子对象并重建数据
【发布时间】:2021-01-08 16:44:30
【问题描述】:

我有这样的 JSON 货币列表

{
    "USD": {
        "symbol": "$",
        "name": "US Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "USD",
        "name_plural": "US dollars"
    },
    "CAD": {
        "symbol": "CA$",
        "name": "Canadian Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "CAD",
        "name_plural": "Canadian dollars"
    },
}

我想格式化输出,所以我得到这样的结果

[{name: "US Dolloar", symbol: "$"}, {name: "Canadian Dolloar", symbol: "CA$"} ]

但我发现很难做到

  loadCurrencies() {
    this.http.get('assets/data/currencies.json').subscribe((response) => {
      this.currenciesList = response;
      console.log(this.currenciesList)
    })
  }

【问题讨论】:

  • 简单:Object.values(response).map({name,symbol}=>({name,symbol}));

标签: javascript angular ecmascript-6


【解决方案1】:

以下代码应该对您有所帮助。

const formattedData = Object.values(this.currenciesList).map(({ name, symbol }) => ({ name, symbol }))

console.log(formattedData)

【讨论】:

    【解决方案2】:

    这是一种方法:

    const data = {
      "USD": {
        "symbol": "$",
        "name": "US Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "USD",
        "name_plural": "US dollars"
      },
      "CAD": {
        "symbol": "CA$",
        "name": "Canadian Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "CAD",
        "name_plural": "Canadian dollars"
      },
    }
    
    const result = Object.values(data).map(({
      name,
      symbol
    }) => ({
      name,
      symbol
    }))
    
    console.log(result)

    【讨论】:

      【解决方案3】:
      loadCurrencies() {
          this.http.get('assets/data/currencies.json').subscribe((response) => {
              this.currenciesList = Object.values(response).map(obj =>
                  return {
                      name: obj.name,
                      symbol: obj.symbol
                  });
              console.log(this.currenciesList);
          });
      }
      

      【讨论】:

        猜你喜欢
        • 2013-02-12
        • 1970-01-01
        • 2011-02-07
        • 2016-03-17
        • 1970-01-01
        • 1970-01-01
        • 2019-04-24
        • 2011-07-28
        • 2011-11-28
        相关资源
        最近更新 更多