我有:
Object {12: Object, 13: Object, 14: Object}
我想在这里检测最后一个循环步骤:
for (var i in objs){
console.log(objs[i]);
}
有什么想法吗?
您可以使用标准对象方法object.keys((;
obj = {12: Object, 13: Object, 14: Object};
keys = Object.keys(obj);
console.log(keys[keys.length - 1]);
console.log(obj[keys[keys.length - 1]]);//if you want that last ..
我希望这是你想要的
var latest;
for (var i in objs){
console.log(objs[i]);
latest = objs[i];
}
//work with latest
由于您无法控制对象属性的顺序(它们以您无法定义的任意顺序出现(,整个想法可能会失去部分或大部分(如果不是全部的话(其相关性。
如果您实际上并不关心在最后一个循环步骤中处理的是哪个属性,下面是一个如何进行的示例:
var objs = {12: Object, 13: Object, 14: Object};
var c = 0;
var objsKeys = Object.keys(objs); [12, 13, 14]
for (var i=0; i<obsjKeys.length, i++){
if (i===(obsjKeys.length -1)) {
console.log("Last Run of the Loop:");
}
console.log(objs[obsjKeys[i]]);
}
Object.keys()
仅在ES5之后可用,这意味着IE<9将不支持它。在这种情况下,您可以使用for..in
:自己实现它
Object.keys = Object.keys || function(obj) {
var tempArray = [];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
tempArray.push(key);
}
}
return tempArray;
};
Object.length - 1
这将给你最后一个元素。。