javascript - 按字符串对包含数组的数组进行排序

标签 javascript arrays sorting

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

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

我如何按名称对它进行排序,以便 albert 排在第一位而 zimmermann 排在最后?

如果我可以使用整数进行排序,我知道我会怎么做,但字符串让我毫 headless 绪。

感谢您的帮助! :)

最佳答案

这可以通过将支持函数作为参数传递给 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);

关于javascript - 按字符串对包含数组的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435228/

相关文章:

来自mysql查询结果的php数组

excel - 按 1、8、28 而非 1、28、8 的顺序对选项卡进行排序

javascript - Promise 未使用 async 和 wait 解决

javascript - 如何通过一个 ajax 调用执行两个操作 - WordPress

javascript - 如何从参数已存在的 GET 数组中查找数据

python - lambda排序列表奇怪的行为

c++ - 基于矩阵引起的排序对 vector 进行排序时出现段错误

javascript - TypeError : _co. 帖子未定义

javascript - react typescript : usestate type

python - Numpy 比较 2 个数组形状,如果不同,追加 0 以匹配形状