javascript – Jquery排序结果不一致
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Jquery排序结果不一致,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1080字,纯文字阅读大概需要2分钟。
内容图文
这就是我在chrome控制台中输入的代码:
var o = { "B": "2", "A": "1", "C": "3" };
var e = $(o).sort();
那就是结果(console.log)
Object {B: "2", A: "1", C: "3"} //Output for: console.log(o);
// output for console.log(e);
[Object, jquery: "1.10.1", constructor: function, init: function, selector: "", toArray: function…]
0: Object
A: "1"
B: "2"
C: "3"
...
Object {B: "2", A: "1", C: "3"} //output console.log(e[0]);
谁能告诉我如何获得排序对象,为什么排序对象和e [0]不是?
谢谢 :)
解决方法:
jQuery不会像这样对普通对象应用排序.即使它将Array.prototype.sort方法抽象为自己的集合,它也不会像开箱即用那样工作. jQuery期望DOM节点在那里,但即使这样,你需要至少定义一个自定义排序函数,你传入.sort()以使其工作.
您可能知道对象键在ECMAscript中没有任何保证顺序.因此,我们只能将其“静态”排序为Array,然后使用该排序的键名列表访问该对象.
例如
var o = { "B": "2", "A": "1", "C": "3" };
var sortedKeys = Object.keys( o ).sort();
console.log( sortedKeys ); // ["A", "B", "C"]
当然,我们可以直接访问调用Array.prototype.forEach的对象,就像
Object.keys( o ).sort().forEach(function( key ) {
console.log( o[ key ] );
});
输出:1,2,3
内容总结
以上是互联网集市为您收集整理的javascript – Jquery排序结果不一致全部内容,希望文章能够帮你解决javascript – Jquery排序结果不一致所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。