不使用for (key in obj)
,它會遍歷所有枚舉的屬性包括原型屬性,並可能導致驚人的可怕的事情。現代JS有隻得到相關鍵調出的對象,使用Object.keys(...)
一個特殊的功能,因此,如果您使用var keys = Object.keys(obj)
拿到鑰匙作爲數組列表,然後你可以遍歷是:
// blind iteration
Object.keys(obj).forEach(function(key) {
var value = obj[key];
// do what you need to here
});
// indexed iteration
for(var keys = Object.keys(obj), i = 0, end = keys.length; i < end; i++) {
var key = keys[i], value = obj[key];
// do what you need to here, with index i as position information
});
或選擇它的最後一個元素立即
var keys = Object.keys(obj);
var last = keys[keys.length-1];
或使用切片:
var keys = Object.keys(obj);
var last = keys.slice(-1)[0];
[如何在jQuery中獲取對象的長度](http://stackoverflow.com/questions/5533192/how-to-get-object-length-in-jquery) –