我有以下数据,一个对象数组:
var data = [
{ x: 0, y0: 0, y: 100 },
{ x: 1, y0: 0, y: 150 },
{ x: 2, y0: 50, y: 100 },
{ x: 3, y0: 50, y: 150 }
]
我想找到之间差异最大的对象y
and y0
,使用 D3。
我可以这样做以获得最大的差异:
var max_val = d3.max(data, function(d) { return d.y - d.y0;} );
它返回 150。但是我不知道该怎么做是获取包含对象,并得知 x 对应的值为 1。
有任何想法吗?
您的问题询问如何使用d3.max
找到这个对象,但另一种想法是使用 Javascript 数组sort http://www.w3schools.com/jsref/jsref_sort.asp函数为您执行此操作:
>>> data.sort(function(a, b){ return (b.y - b.y0) - (a.y - a.y0); } )[0]
Object {x: 1, y0: 0, y: 150}
这里我整理一下data
使用一个函数,给定两个对象a
and b
,使用它们的差异来比较它们y
and y0
特性。通过减去的值a
from b
,我按降序返回对象,然后获取第一个对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)