一尘不染

按字符串对数组进行排序

javascript

我有一个包含多个数组的数组,我想根据这些数组中的某个字符串对数组进行排序。

var myArray = [
                [1, 'alfred', '...'],
                [23, 'berta', '...'],
                [2, 'zimmermann', '...'],
                [4, 'albert', '...'],
              ];

如何按名称排序,以便 阿尔伯特排 在首位, 齐默尔曼排 在最后?

我知道如果可以使用整数进行排序,但是字符串使我毫无头绪,该怎么办。

谢谢您帮忙!:)


阅读 429

收藏
2020-05-01

共1个答案

一尘不染

这可以通过将支持函数作为参数传递给Array.sort方法调用来实现。

像这样:

 function Comparator(a, b) {

   if (a[1] < b[1]) return -1;

   if (a[1] > b[1]) return 1;

   return 0;

 }



 var myArray = [

   [1, 'alfred', '...'],

   [23, 'berta', '...'],

   [2, 'zimmermann', '...'],

   [4, 'albert', '...'],

 ];



 myArray = myArray.sort(Comparator);

 console.log(myArray);
2020-05-01