【发布时间】:2017-12-19 09:34:07
【问题描述】:
我正在尝试对数组进行排序。
前-
let arr = [{label: "Name 5"}, {label: "Name 3"},{label: "Name 12"}, {label: "Name 10"}, {label: "First Name 5"}, {label: "Apple"}, {label: "Orange"}, {label: "water"}];
let sortedArray = arr.sort(function(a, b){
return a.label.localeCompare(b.label);
});
console.log(sortedArray);
当我尝试对其进行排序时,“名字 10”排在第一位,但“名字 3”应该排在第一位。
我也试过这个-
let sortedArray = arr.sort(function(a, b){
var nameA=a.label.toLowerCase(), nameB=b.label.toLowerCase();
if (nameA < nameB){
return -1;
} //sort string ascending
if (nameA > nameB){
return 1;
}
return 0; //no sorting
});
还有这个-
Array.prototype.reverse()
String.prototype.localeCompare()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
但仍然没有运气。谁能指出这里有什么问题?
【问题讨论】:
标签: javascript arrays sorting