如何在Javascript中按字母顺序对此数组进行排序?
问题描述:
所以我有此数组:如何在Javascript中按字母顺序对此数组进行排序?
[[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"]], [3, "Half-Eaten Apple"],[7, "Toothpaste"]];
我想这个数组按字母顺序的排序元素相应的第二个元素。所以我想这样订购:
[[21,“保龄球”],[2,“脏袜子”],[1,“发夹”],[3,“半食苹果” ],[5,“麦克风”]],[7,“牙膏”]];
我该怎么做才能在javascript中完成此操作?
答
如果使用适当的数组并使用第二项,则可以使用Array#sort
并提示Sorting non-ASCII characters的用于比较字符串。
var array = [[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"], [3, "Half-Eaten Apple"], [7, "Toothpaste"]];
array.sort(function (a, b) {
return a[1].localeCompare(b[1]);
});
console.log(array);
答
let stuff = [
[21, "Bowling Ball"],
[2, "Dirty Sock"],
[1, "Hair Pin"],
[5, "Microphone"],
[3, "Half-Eaten Apple"],
[7, "Toothpaste"]];
这可以很容易通过使用String.prototype.localeCompare()
方法把按字母顺序的项目排序数组项来实现。
stuff.sort((item1, item2) => item1[1].localeCompare(item2[1]));
你试过了什么? – karthick
@Nina指出,你必须根据用户的浏览器,内容,服务器,网站,网站组织的“总部”等因素决定谁的区域设置(字母等)。 –