首页 > 解决方案 > 如何使用 map 函数从对象数组中返回多个键?ES6

问题描述

如果我有一个对象数组

var bitcoinData = [
{
  "date": "2013-05-01",
  "txVolume(USD)": 108659660.293,
  "txCount": 52443,
  "marketcap(USD)": 1542820000,
  "price(USD)": 139,
  "exchangeVolume(USD)": 0,
  "generatedCoins": 3575,
  "fees": 36.80599998,
  "activeAddresses": null
},
{
  "date": "2013-05-02",
  "txVolume(USD)": 96958519.0041,
  "txCount": 55169,
  "marketcap(USD)": 1292190000,
  "price(USD)": 116.38,
  "exchangeVolume(USD)": 0,
  "generatedCoins": 3425,
  "fees": 54.40791613,
  "activeAddresses": null

如何使用 map 函数创建一个仅包含每天的日期和价格的数组?

标签: javascriptarraysobjectecmascript-6

解决方案


命名“价格(美元)”会导致解构问题。所以用基本的代替。干得好。

const bitcoinData = [
{
  "date": "2013-05-01",
  "txVolume(USD)": 108659660.293,
  "txCount": 52443,
  "marketcap(USD)": 1542820000,
  "price(USD)": 139,
  "exchangeVolume(USD)": 0,
  "generatedCoins": 3575,
  "fees": 36.80599998,
  "activeAddresses": null
},
{
  "date": "2013-05-02",
  "txVolume(USD)": 96958519.0041,
  "txCount": 55169,
  "marketcap(USD)": 1292190000,
  "price(USD)": 116.38,
  "exchangeVolume(USD)": 0,
  "generatedCoins": 3425,
  "fees": 54.40791613,
  "activeAddresses": null
  }];
  
  const summary = bitcoinData.map(item => ({ date: item.date, price: item["price(USD)"] }));
  
  console.log(summary);

解决了解构问题,这里使用的是该技术。

    const bitcoinData = [
    {
      "date": "2013-05-01",
      "txVolume(USD)": 108659660.293,
      "txCount": 52443,
      "marketcap(USD)": 1542820000,
      "price(USD)": 139,
      "exchangeVolume(USD)": 0,
      "generatedCoins": 3575,
      "fees": 36.80599998,
      "activeAddresses": null
    },
    {
      "date": "2013-05-02",
      "txVolume(USD)": 96958519.0041,
      "txCount": 55169,
      "marketcap(USD)": 1292190000,
      "price(USD)": 116.38,
      "exchangeVolume(USD)": 0,
      "generatedCoins": 3425,
      "fees": 54.40791613,
      "activeAddresses": null
      }];
      
      const summary = bitcoinData.map(({ date, "price(USD)": price }) => ({ date, price }));
      
      console.log(summary);


推荐阅读