我试图为网站创建一套直方图。我想创建一个映射变量,只有在角色具有特定等级时才会提取速度数据。我的数据集如下所示(我已经加粗了我想要处理的相关变量):
myData = [{name:' Maru',排名:' L',速度:117.6 },{name:' Kharg&# 39;,排名:' G',速度:114.4} ......等等......]
我尝试使用if语句(伪代码:如果myData.rank =' L' ...)以及以下内容:
var speedData = myData.map(function(i){return i.speed;})
但是,我没有运气。这是我尝试的样本(除其他外,但我怀疑这是最接近工作的):
var lightData = myData.map(function(i){
if (i.rank == 'L'){
return i.speed;}
})
这可能仅使用js和D3吗?我怀疑像Django这样的东西可能会让这更容易,但它只是限制了js和D3。
我意识到,如果我的数据集较小,我可以手动分离所有等级,然后在需要一次运行所有数据时进行合并。但是,这对我的数据来说是不切实际的。
答案 0 :(得分:1)
使用普通的Javascript,您可以先使用链式方法进行过滤,然后根据需要映射该值。
var result = myData
.filter(function (o) { return o.rank === 'L'; })
.map(function (o) { return o.speed; });