javascript - 将函数应用于数组的每个元素

标签 javascript d3.js

我有表单中的数据

var JSONData = [
        {"id": "Line1", "x_data": ["2005-01-01 01:00", "2005-01-01 02:00", "2005-01-01 03:00", "2005-01-01 04:00", "2005-01-01 05:00"], "y_data": [1, 2, 3, 4, 5]},
        {"id": "Line2", "x_data": ["2005-01-01 01:00", "2005-01-01 02:00", "2005-01-01 03:00", "2005-01-01 04:00", "2005-01-01 05:00"], "y_data": [6, 7, 8, 9, 10]},
        {"id": "Line3", "x_data": ["2005-01-01 01:00", "2005-01-01 02:00", "2005-01-01 03:00", "2005-01-01 04:00", "2005-01-01 05:00"], "y_data": [11, 12, 13, 1, 15]}
    ]

并且想用 y 数据压缩 x 数据,并对返回的数组的每个 x 元素应用日期解析函数。

我尝试了以下操作,但它返回未定义的数组。

var parseDate = d3.time.format("%Y-%m-%d %H:%M").parse;
    var nested = d3.nest()
            .key(function(d) {
                return d.name;
            })
            .map(JSONData)
    console.log("nested ", nested);
    var keyring = d3.keys(nested).filter(function(key) {
        return (key !== "x_data" && key !== "y_data");
    });
    console.log("keyring ", keyring);
    var transpose = keyring.map(function(name) {
            console.log("name ", name);
            return {
                name: name,
                values: nested[name].map(function(d) {
                    var zip_data = d3.zip(d.x_data, d.y_data).forEach(function(d, i) {
                        d[0] = parseDate(d[0]);
                        d[1] = +d[1];
                    });
                    console.log("zip data ", zip_data);
                    return zip_data;
                })
            };
        });

感谢您的帮助。

最佳答案

试试这个。

var parseDate = d3.time.format("%Y-%m-%d %H:%M").parse;
var requiredArray= JSONData.map(function(d) { 
               var parsedX = d.x_data.map(function(date){ return parseDate(date) });
               return d3.zip(parsedX , d.y_data) 
            });

关于javascript - 将函数应用于数组的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24625624/

相关文章:

javascript - 我如何大写日期格式的一部分 - angularjs

javascript - onchange 在我呈现 json 解析的函数中不起作用

javascript - 如何在django网站中将D3图保存为图像?

javascript - D3.js 图表画笔和 Crossfilter.js 缩放不同步

javascript - 在 d3 中设置旋转方向

javascript - 来自数组的递归链表

JavaScript、时区和夏令时

javascript - 使用鼠标滚轮向下事件在网站上滚动了多少像素?

javascript - 在 d3.js 中的每个 X 轴日期标签下方添加自定义文本

d3.js - d3 Tree - 缩放时如何自动调整节点间距