javascript - 如何以对象作为成员按降序循环遍历 JavaScript 对象文字

标签 javascript ajax jquery object for-loop

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/

相关文章:

javascript - html 表格 ||表单数据|| Ajax

javascript - Flot:尝试在页面加载时绘制图表时弹出奇怪的错误?

javascript - 页脚的动态绝对位置,缺少像素 - 无限滚动

javascript - CEP 扩展中的 React-router(例如 Premiere Pro)

javascript - Tablesaw 未在 Bootstrap Carousel 中触发

javascript - 检测用户离开页面的正确方法

javascript - jQuery ajax 循环和迭代范围

javascript - 我想在提交表单后打开模式?

javascript - 在 CSS 更改时更改 JS

javascript - 使用 d3 拖动,为什么 dragstart 没有设置 d3.event.x?