按名称(字母顺序)在Javascript中排序数组

按名称(字母顺序)在Javascript中排序数组

我得到了一个数组(参见下面的数组中的一个对象),我需要使用JavaScript按照名字进行排序。我该怎么做?

var user = {
   bio: null,
   email:  "user@domain.com",
   firstname: "Anna",
   id: 318,
   lastAvatar: null,
   lastMessage: null,
   lastname: "Nickson",
   nickname: "anny"};


holdtom
浏览 2523回答 3
3回答

芜湖不芜

假设您有一个数组users..你可以用users.sort并传递一个函数,该函数接受两个参数并对它们进行比较(比较器)它应该会回来如果第一个参数小于第二个参数,则为负值(在结果数组中,应放在第二个参数之前)。如果第一个论点更大的话(应该放在第二个论点之后)如果这两个元素相等,则为0。在我们的例子中,如果两个元素是a和b我们想比较一下a.firstname和b.firstname例子:users.sort(function(a, b){     if(a.firstname < b.firstname) { return -1; }     if(a.firstname > b.firstname) { return 1; }     return 0;})此代码将适用于任何类型。请注意,在“现实生活”™中,您经常希望在比较字符串时忽略大小写,正确地排序指示符、奇怪的符号(例如,),所以您可能想要使用localeCompare..

智慧大石

如果比较的字符串包含Unicode字符,则可以使用localeCompare功能的String类,如下所示:users.sort(function(a,b){     return a.firstname.localeCompare(b.firstname);})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript