javascript – 在jQuery.each中反向对象

前端之家收集整理的这篇文章主要介绍了javascript – 在jQuery.each中反向对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
HTML
<input id="sdata" type="hidden" value='{"1651":["12","1"],"1650":["30","0"],"1649":["20","1648":["13","2"],"1647":["11","1646":["10","1645":["12","1644":["8","1643":["16","1642":["10","1641":["10","1640":["18","3"]}' />

JS:

var data = $.parseJSON($('#sdata').val());
$.each(data,function(id,sc) {
    alert(id);
}

OUT:1640,1641,1642,…,1651

如何按照相反的顺序(例如1651,1650 …)?

解决方法

就这样,你不能以任何可靠的方式.因为你正在枚举一个对象,所以永远不会有保证的顺序.

如果你想要一个保证的数字顺序,你需要使用一个数组,并向后迭代.

编辑:这将会将您的对象转换为数组,并进行反向迭代.

请注意,只有所有的属性都是数字的,它才会起作用.

var data = $.parseJSON($('#sdata').val());
var arr = [];

for( var name in data ) {
    arr[name] = data[name];
}
var len = arr.length;
while( len-- ) {
    if( arr[len] !== undefined ) {
        console.log(len,arr[len]);
    }
}

猜你在找的jQuery相关文章