2012-09-26 52 views
0

数组是这样的:最小值,返回数组名

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

现在,这里的值将是%,而且必须被比较,但返回的值应该是最小值数组对象的名称。

正如你所理解的,值可以有两个或更多相同的项目。

+3

var items = {“dioxanes”:0,“shunning”:1,......不是数组。 – Anoop

+0

...这是一个通过[Object Literal语法]声明的对象(https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects#Using_object_initializers) – Matt

+0

如果有你的名字,应该返回什么最低的价值? – alexandernst

回答

0

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); 
+0

非常感谢你非常mutch! –

+0

数据呈现的方式并不那么重要,eather object eather数组。重要的是名称>价值组合和变化。有16个名称的值与我一起工作。我可以获取名称并向它们添加百分比值,但具有最小值的函数和该值名称的返回值是最令人头疼的。如果它会返回2个以上的名字,那么它只会选择第一个。无关紧要的女巫:)在接下来的检查那里不会是更多的名称具有相同的价值,只有更少:)拆分值,只选择第一部分,我可以做;) –