下面给出了一个数组,这个数组的每个元素都由另一个数组组成。
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]。
数组应该是:
[
['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。
提前谢谢。
发布于 2022-03-26 05:40:11
//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);
https://stackoverflow.com/questions/71625380
复制相似问题