獲取對象
回答
正如評論所示,你的問題有點含糊。如果你正在尋找解析爲整數的字符串值進行比較,下面應該工作根據你對象的結構:
var myArray = Object.keys(lookup).map(function(current){
return parseInt(current)
});
var max = Math.max.apply(null, myArray)
如果您的對象包含非數字值,則這不起作用。 parseInt將在非數字值上返回NaN,如果數組包含NaN,則Math.max.apply將返回NaN。 –
試試這個功能:
function getMax(dataObj){
var max;
for(var key in dataObj){
if (dataObj.hasOwnProperty(key)) {
var number = parseFloat(dataObj[key]);
//max by default is undefined and number could be NaN
if(!max && number){
max = number;
}
else if(number > max){
max = number;
}
}
}
return max;
}
這將遍歷一個對象並獲取該對象(而不是在原型鏈)上設置的所有屬性,嘗試將它們轉換成數字,然後返回最大值。請注意,這不是返回鍵值,而是值。
如果你使用'Object.keys',你可以刪除hasOwnProperty()'檢查,保存一些輸入:) –
好點@MisterEpic!如果您需要支持比IE9更早的瀏覽器,那麼Object.keys仍然存在兼容性問題。請查閱https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys上的文章以獲得有關Object.keys的完整信息。 –
對於有答案的多樣性的緣故,這裏是一個使用lodash的reduce
和功能更強大的實現三元運營商:
_.reduce(_.values(lookup), function(max, n){ return n > max ? n : max; });
- 1. 獲取對象
- 2. 獲取對象
- 3. 獲取對象
- 4. 獲取對象
- 5. 獲取對象
- 6. 獲取對象
- 7. 獲取對象
- 8. 獲取[對象XrayWrapper [對象HTMLDivElement]]對象
- 9. 獲取從對象
- 10. 獲取從對象
- 11. restfb獲取對象
- 12. 獲取JavaScript對象
- 13. 獲取nasted對象
- 14. 獲取從對象
- 15. 獲取對象8
- 16. 獲取父對象
- 17. 獲取從對象
- 18. 獲取JavaScript對象
- 19. 獲取從對象
- 20. 獲取從對象
- 21. 獲取從對象
- 22. 獲取從對象
- 23. 獲取onActivityResult對象
- 24. 獲取父對象
- 25. 獲取JavaScript對象
- 26. 獲取pymc對象
- 27. 獲取對象值
- 28. C++獲取對象
- 29. 獲取ParseUser對象
- 30. 獲取對象值
1)你有什麼試過? 2)你比較屬性名稱或值? 3)如果是值,你是否期望字符串被轉換爲整數然後進行比較? 4)你可以使用數組而不是對象嗎? –