您如何在d3中找到此对象的最小值?
{周一:3.7,周二:1.2,周三:2.4,周四:9.6 ......}
答案 0 :(得分:1)
如果您只想获取值本身,请使用d3.min和d3.values:
var obj = {Mon: 3.7, Tues: 1.2, Wed: 1.4, Thurs: 9.6};
var min = d3.min(d3.values(obj)); // 1.2
如果您想知道包含最小值的成员,请使用d3.entries和Array.reduce:
min = d3.entries(obj).reduce(function(memo, item){
return memo.value > item.value ? memo : item;
}); // {key: "Tues", value: 1.2}
答案 1 :(得分:0)
您可以使用underscorejs max:
var obj = {Mon: 3.7, Tues: 1.2, Wed: 2.4, Thurs: 9.6};
var max = _.max(obj); // 9.6
var obj = {Mon: 3.7, Tues: 1.2, Wed: 2.4, Thurs: 9.6};
var min = _.min(obj ); // 1.2
答案 2 :(得分:0)
您可以创建一个遍历该对象的循环并比较其值。下面是代码:
var obj= {Mon: 3.7, Tues: 1.2, Wed: 2.4, Thurs: 9.6};
var keys = Object.keys(obj);
var leastEl = obj[keys[0]];
for (var i = 0; i < keys.length; i++) {
if (leastEl > obj[keys[i]]) {
leastEl = obj[keys[i]];
}
}
编辑:是的 - 正如上面已经说过的那样 - 你给出的例子里面没有任何数组,它有一个对象。
答案 3 :(得分:0)
var obj = {Mon: 3.7,Tues: 1.2,Wed: 1.4}
var min;
for(var x in obj){
if(min == undefined || obj[x]<min){
min=obj[x];
}
}
console.log(min);