首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组内部的自定义排序

数组内部的自定义排序
EN

Stack Overflow用户
提问于 2022-03-26 04:45:13
回答 1查看 51关注 0票数 -1

下面给出了一个数组,这个数组的每个元素都由另一个数组组成。

代码语言:javascript
复制
var array = [
  ['201', 'Tom', 'EES', 'California'],
  ['189', 'Charlie', 'EE', 'New Jersey'],
  ['245', 'Lisa', 'EEF', 'New Jersey'],
  ['743', 'Niall', 'EEC', 'Chicago'],
  ['653', 'Tim', 'EES', 'Miami'],
  ['333', 'Dev', 'EE', 'Washington'],
  ['333', 'Rhonda', 'EEC', 'Washington']
]

我希望它是根据第3值排序,并按这个顺序[EE,EES,EEC,EEF]

数组应该是:

代码语言:javascript
复制
[
  ['189', 'Charlie', 'EE', 'New Jersey'],
  ['333', 'Dev', 'EE', 'Washington'],
  ['201', 'Tom', 'EES', 'California'],
  ['653', 'Tim', 'EES', 'Miami'],
  ['743', 'Niall', 'EEC', 'Chicago'],
  ['333', 'Rhonda', 'EEC', 'Washington'],
  ['245', 'Lisa', 'EEF', 'New Jersey']
]

注意:-原始数组将有n个元素,我想要的是第一个EE元素,然后是EES,EEC,然后是EEF。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-03-26 05:40:11

代码语言:javascript
复制
//this is my code! You can use array.sort(...) to do this


var array=[['201','Tom','EES','California'],['189','Charlie','EE','New Jersey'],
['245','Lisa','EEF','New Jersey'],['743','Niall','EEC','Chicago'],['653','Tim','EES','Miami'],
['333','Dev','EE','Washington'],['333','Rhonda','EEC','Washington']];


let _result = array.sort(
    function(a, b){
        if (a[2].toLowerCase() < b[2].toLowerCase()) return -1;
            if (a[2].toLowerCase() > b[2].toLowerCase()) return 1;
            return 0;
    }

)

console.log(_result);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71625380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档