javascript - 在数组元素前添加文本

标签 javascript arrays d3.js

我目前正在使用 d3.js 进行数据可视化,其中我有一年中每个季度的 GDP 数据。数据如下所示:

[
    [
      "1947-01-01",
      243.1
    ],
    [
      "1947-04-01",
      246.3
    ],
    [
      "1947-07-01",
      250.1
    ]
 ]

我想要的是把它变成下面这样:

[
    [
      date: "1947-01-01",
      GDP: 243.1
    ],
    [
      date: "1947-04-01",
      GDP: 246.3
    ],
    [
      date: "1947-07-01",
      GDP: 250.1
]

我试过这样做,但它会将数组元素转换为字符串。

d3.json("data/GDP-data.json").then(function (dataTotal) {
    data = dataTotal.data;
    console.log(data);

    for(var i=0;i<data.length;i++){
        data[i]["0"] = new Date(data[i]["0"])
        data[i]["0"]="date: "+data[i]["0"];
        
        data[i][1] = "GDP: "+data[i][1];
    }
}

有没有办法不把每个元素变成一个字符串,同时仍然在它前面添加文本?这将使调用某些数据点变得容易得多。

最佳答案

使用 map

arr.map( s => ({ date : s[0], gdp : s[1] }) );

演示

var arr = [
  [
    "1947-01-01",
    243.1
  ],
  [
    "1947-04-01",
    246.3
  ],
  [
    "1947-07-01",
    250.1
  ]
];
var output = arr.map(s => ({
  date: s[0],
  gdp: s[1]
}));
console.log(output);

关于javascript - 在数组元素前添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50290659/

相关文章:

javascript - 在 promise 链中传递数组

javascript - 计算该月最后 X 天是否增加月份

c++ - atoi 和字符串数组

javascript - 打印数组和索引时出现问题 - 控制台记录所有内容,输出仅打印最后一个

javascript - PHP 为 D3 生成 JSON

javascript - 如何在 d3 中的 SVG 圆上添加标签?

javascript - 对象属性为 null,但输入的值不是 null。如何正确插入值?

javascript - 按 2 个或更多字符串过滤对象

C:指向二维指针数组的指针

javascript - Zurb Foundation 6 展示模式在移动设备上增加了垂直间距