2012-09-26 80 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個以上的名字,那麼它只會選擇第一個。無關緊要的女巫:)在接下來的檢查那裏不會是更多的名稱具有相同的價值,只有更少:)拆分值,只選擇第一部分,我可以做;) –