php - 使用 JQuery 对多维 JSON 数组进行排序后的额外字符

标签 php javascript jquery sorting

我正在尝试使用 JQuery 使用此代码对多维 JSON 数组(此处称为 jsontest)进行排序:

jQuery.fn.sort = function() {  
                    return this.pushStack( [].sort.apply( this, arguments ), []);  
                     };  

function sortLastName(a,b){  
                             if (a.arrtime1 == b.arrtime1){
                                                      return 0;
                                                      }
                             return a.arrtime1 > b.arrtime1 ? 1 : -1;  
                              };  
function sortLastNameDesc(a,b){  
                               return sortLastName(a,b) * -1;  
                                };


x1=$(jsontest).sort(sortLastNameDesc);

如果使用 javascript 发出警报,则原始 jsontest 是:[{f_name:"john", arrtime1:"10", sequence:"0", title:"president", url:"google.com", color: "333333"}, {f_name:"michael", arrtime1:"11", sequence:"0", title:"general manager", url:"google.com", color:"333333"}]

但是排序之后:变成了(x1是):

({0:#1={f_name:"michael", arrtime1:"11", sequence:"0", title:"general manager", url:"google.com", color:"333333"}, 1:#2={f_name:"john", arrtime1:"10", sequence:"0", title:"president", url:"google.com", color:"333333"}, 长度:2, prevObject:{0:#1#, 1:#2#, length:2}, 上下文:(void 0), 选择器:".(undefined)"})

为什么在开头和结尾有这些额外的字符?我的排序功能有问题吗?我正在使用 JQuery 1.6 undefined)"})

最佳答案

我不确定您为什么要使用 jQuery 函数来执行此操作,而您可以使用普通数组排序来执行此操作。

var foo = jsontest.sort(sortLastNameDesc);

所有这些“额外”的东西都是事实,它现在是一个 jQuery 对象而不是一个数组。

关于php - 使用 JQuery 对多维 JSON 数组进行排序后的额外字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8770606/

相关文章:

php - CakePHP 对 SQL Server 查找的响应缓慢

javascript - Aptana Studio 3 的预览选项卡在哪里?

javascript - node-inspector 不调试 - 它立即停止执行

jQuery:用 A anchor 标记包装图像标记的最简单方法

php - Prepared Statements 对于普通查询来说是一种浪费吗? (PHP)

php - 加载数据本地INFILE - 结果错误

javascript - 希望在使用 jQuery 或 JavaScript 完成后重置事件

php - 基于标签显示图像 - jQuery Datatables

javascript - 当宽度小于 644 时如何更改粘性菜单

php - 如何在 Symfony 中调试 "MethodNotAllowedHttpException"?