如何在键/值数据结构中找到最小值?

时间:2014-04-07 08:20:50

标签: javascript d3.js

您如何在d3中找到此对象的最小值?

{周一:3.7,周二:1.2,周三:2.4,周四:9.6 ......}

4 个答案:

答案 0 :(得分:1)

如果您只想获取值本身,请使用d3.mind3.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.entriesArray.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

userscorejs min

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]];   
    }
}

demo

编辑:是的 - 正如上面已经说过的那样 - 你给出的例子里面没有任何数组,它有一个对象。

答案 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);
相关问题