使用JavaScript对数据进行排序
我需要使用JavaScript对数据源进行排序的帮助。下面提到了我的javascript代码,它正在生成一个无序列表。如果我单击“生成排序列表”,它将生成如下输出:使用JavaScript对数据进行排序,javascript,jquery,html,css,list,Javascript,Jquery,Html,Css,List,我需要使用JavaScript对数据源进行排序的帮助。下面提到了我的javascript代码,它正在生成一个无序列表。如果我单击“生成排序列表”,它将生成如下输出: 遍历已排序的键数组而不是对象 可以按未定义的顺序替换对象键上的迭代 ... for (var prop in obj) { ... 在排序键上进行迭代 ... var sortedKeys = Object.keys(obj).sort(); for (var i = 0; i < sortedKeys.length
遍历已排序的键数组而不是对象
可以按未定义的顺序替换对象键上的迭代
...
for (var prop in obj) {
...
在排序键上进行迭代
...
var sortedKeys = Object.keys(obj).sort();
for (var i = 0; i < sortedKeys.length; ++i) {
var prop = sortedKeys[i];
...
。。。
var sortedKeys=Object.keys(obj.sort();
对于(变量i=0;i
可能重复的可以请您给我一把实时小提琴吗,因为我对它的排序感到困惑。因为在这里我们要枚举对象属性,唯一的区别是它们现在位于一个排序数组中,这样更容易获得按字母顺序显示的列表/项目。Finally inside for in,我不是遍历键,而是使用obj[keys[prop]]获取值和节点。您是对的,您遍历了对象属性。该对象是一个数组,因此键是0、1、2,可能还有添加到数组原型链中的任何内容,这真的不是一个好主意。尝试Array.prototype.foo=5,您会遇到问题。请帮助我修复此错误。当我单击“生成排序列表”时,列表将生成并消失小提琴:
var keys = Object.keys(obj).sort();
for (prop in keys) {
if (keys.hasOwnProperty(prop)) {
li = document.createElement("li");
li.appendChild(document.createTextNode(keys[prop]));
if (typeof obj[keys[prop]] == "object" && Object.keys(obj[keys[prop]]).length) {
li.appendChild(traverseObject(obj[keys[prop]]));
} else {
li.className += "leaf";
}
ul.appendChild(li);
console.log(ul);
}
}
...
for (var prop in obj) {
...
...
var sortedKeys = Object.keys(obj).sort();
for (var i = 0; i < sortedKeys.length; ++i) {
var prop = sortedKeys[i];
...