【问题标题】:Minimum value of named array, return array name命名数组的最小值,返回数组名
【发布时间】:2012-09-17 20:20:13
【问题描述】:

数组如下所示:

arr[0] = "value";
arr[1] = "value2";

或者它可以是这样的:

var items = {
  "dioxanes"     :  0,
  "shunning"     :  1,
  "plowed"       :  2,
  "hoodlumism"   :  3,
  "cull"         :  4,
  "learnings"    :  5,
  "transmutes"   :  6,
  "cornels"      :  7,
  "undergrowths" :  8,
  "hobble"       :  9,
  "peplumed"     : 10,
  "fluffily"     : 11,
  "leadoff"      : 12,
  "dilemmas"     : 13,
  "firers"       : 14,
  "farmworks"    : 15,
  "anterior"     : 16,
  "flagpole"     : 17
};

现在这里的值将是百分比,必须进行比较,但返回的值应该是最小值数组对象的名称。

如您所知,相同项目的值可以有 2 个或更多。

【问题讨论】:

  • var items = {"dioxanes": 0, "shunning": 1,...... 不是数组。
  • ...它是一个通过Object Literal syntax声明的对象
  • 如果有最低值的名字应该返回什么?

标签: javascript arrays min


【解决方案1】:

items 不是数组,它是一个对象。

var items = {"dioxanes": 0,  "shunning": 1,  "plowed": 2,
            "hoodlumism": 3, "cull": 4,      "learnings": 5,
            "transmutes": 6, "cornels": 7,   "undergrowths": 8,
            "hobble": 9,     "peplumed": 10, "fluffily": 11,
            "leadoff": 12,   "dilemmas": 13, "firers": 14,
            "farmworks": 15, "anterior": 16, "flagpole": 17};

var min = null, key_min, key;

for (key in items) {
  if (items.hasOwnProperty(key)) {
     if (min === null || items[key] < min) {
         min = items[key];
     key_min = key;
     }
  }
}

console.log("The key holds min value is: " + key_min);

【讨论】:

  • 数据如何呈现的方式并不那么重要,hether对象和数组。重要的是名称>值组合和变体。有 16 个名称具有我正在使用的值。我可以获取名称并向它们添加百分比值,但是具有最小值的函数和返回该值的名称是最令人头疼的问题。如果它将返回超过 2 个名称,那么它将只选择第一个。没关系女巫:) 在下一次检查中不会有更多具有相同值的名称,只有更少:) 拆分值并只选择我能做的第一个部分;)
猜你喜欢
  • 2017-07-23
  • 2019-07-12
  • 2014-09-14
  • 2022-01-18
  • 1970-01-01
  • 2021-05-29
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
相关资源
最近更新 更多