for (var key in validation_messages) {
var obj = validation_messages[key];
for (var prop in obj) {
if(obj.hasOwnProperty(prop)){
alert(prop + " = " + obj[prop]);
}
}
}
这是我的 for 循环,但我得到的响应是按升序排列的。但我需要按降序排列。有人可以帮助我吗?
谢谢
最佳答案
Javascript 不保证特定的对象属性顺序,请参阅:Does JavaScript Guarantee Object Property Order?
如果需要特定顺序,则应使用数组。
如果将它们放在数组中,代码将如下所示(fiddle: http://jsfiddle.net/DH3VQ/1/ ):
var props = [
{ key:"p1", value:"a"},
{ key:"p2", value:"b"},
{ key:"p3", value:"c"},
];
for (var i = 0; i< props.length; i++){
alert(props[i].key + " = " + props[i].value);
}
或者你可以做一些更奇特的事情:
props.forEach(function(prop){alert(prop.key + " = " + prop.value)});
但是 的标准可能更便携。
关于javascript - 如何以对象作为成员按降序循环遍历 JavaScript 对象文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19779193/