gpt4 book ai didi

Javascript (D3) 循环优化

转载 作者:行者123 更新时间:2023-12-02 15:53:16 25 4
gpt4 key购买 nike

我正在尝试预处理一些数据。虽然我的方法有效,但感觉很脏。

    // Calculate dataset mean
var mean = Math.round(d3.mean(data, function(d) { return d.value; }));

// Iterate through data reformatting dates and centering data around the mean
data.forEach(function(d) {
parseDate = d3.time.format("%Y-%m-%d").parse;
d.date = parseDate(d.date);
d.value = Math.round(+d.value - mean);
});

var data = data.map(function(obj) { return [obj.date.getTime(), obj.value]; });

我基本上循环了数据集三遍。

首先,计算平均值(仅在下一个循环中使用)。

其次,重新格式化日期字符串并将数据以平均值为中心。

第三,将日期字符串转换为日期对象(纪元时间)。

对我来说,有一种比迭代数据集三次更有效的方法。

我如何整合这些循环?

最佳答案

好吧,您需要第二次迭代的平均值,因此无法绕过第一次迭代。不过,您可以轻松组合迭代 2 和 3:

var parseDate = d3.time.format("%Y-%m-%d").parse;
var data = data.map(function(d) {
d.date = parseDate(d.date);
d.value = Math.round(+d.value - mean);
return [d.date.getTime(), d.value];
});

除非数据非常大(至少数千个项目),否则这不会使其效率明显提高。

关于Javascript (D3) 循环优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31728016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com