2016-12-27 60 views
0

好的,首先讓我說清楚,我們正在談論KEY或Index,這個價值目前並不重要。 什麼我是用數字鍵例如詞典:在JavaScript字典中找到KEY值小於某個值的關鍵字。

var someDict = {1:"First value", 2:"Second value", 5:"Some other value", 12:"Some other value."} 

因爲加入時,他們也可能是壞了。 所以如果我做

someDict[4] = "This goes before 5"; 

有沒有問題。

我想要做的是在將4個關鍵字添加到本字典之前,我需要知道我在序列中已經有了什麼關鍵。在這個例子中,這將是關鍵2. 除了手動循環我的詞典之外,有什麼方法可以找到它嗎?類似的東西:

var myKey = someDict[lastkey < 4].Key 

jQuery的基礎也是可以接受的答案。

+4

如果你的鑰匙是有點表示索引號 - 你爲什麼不使用數組? – Slonski

+2

@((Object.keys(someDict)).filter(function(value){return value <4;}))。pop();' –

+0

@Slonski因爲它只是一個準索引,調用someDict.length會返回13在這個例子中(1+數組中的最後一個元素)。當正確答案是4時。除了我真正的索引數字代表數千秒,而且這些條目分開幾分鐘,所以它更像myDict = {21314241245:「Something」,43234450003:「Something Else」}如果它是一個數組,所有索引之間存在但be =未定義。 – UserZer0

回答

2

var someDict = {1:"First value", 2:"Second value", 5:"Some other value", 12:"Some other value."} 
 

 
var keys = Object.keys(someDict); 
 
var lowerKeys = keys.filter(function(value){ 
 
    return value < 4; 
 
}) 
 
var myKey = lowerKeys.pop(); 
 
console.log(myKey);

相關問題