我面临的问题是我的数组没有被0,1,2,3等索引。它的索引是一个id 0654,3423,7543等...所以例如:
var obj = {};
obj["0654"] = { "Name" : "Tony" };
obj["3423"] = { "Name" : "Fred" };
obj["7543"] = { "Name" : "Dave" };
我正在寻找一种通过Name键对它们进行排序的方法。但我不断得到一个功能错误。不太确定我做错了什么。我正在使用此代码对其进行排序:
Array.prototype.sortByProp = function(p){
return this.sort(function(a,b){
return (a[p].toLowerCase() > b[p].toLowerCase()) ? 1 : (a[p].toLowerCase() < b[p].toLowerCase()) ? -1 : 0;
});
}
这样做:
obj.sortByProp("Name");
任何指导或最好的方法来解决这个问题...如果这是另一篇文章的重复,请向我指出正确的方向,因为我搜遍了这个场景并且找不到解?另外,如果你能告诉我为什么这不起作用,那么我就可以更好地理解对象了。