如何使用 javascript 根据第二个值对数组进行排序?
How to sort an array based on the second value with javascript?
我有一个数组:
[
[0, 'Please select a Customer'],
[2072, 'S-Customer'],
[834, '01-Customer'],
[709, 'C-Customer'],
[4217, 'Test'],
[2074, 'A-Customer']
]
但是我怎样才能按数字和字母顺序对它进行排序,并且仍然具有相同的 ID,即第一个值?应该是这样的:
obs:第一个值不应更改。
[
[0, 'Please select a Customer'],
[834, '01-Customer'],
[2074, 'A-Customer'],
[709, 'C-Customer'],
[2072, 'S-Customer'],
[4217, 'Test']
]
您可以通过查找索引 0 并按索引 1 的值对其余数组进行排序来保留第一个数组
const
array = [[0, 'Please select a Customer'], [2072, 'S-Customer'], [834, '01-Customer'], [709, 'C-Customer'], [4217, 'Test'], [2074, 'A-Customer']];
array.sort((a, b) => !b[0] - !a[0] || a[1].localeCompare(b[1]));
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }
我有一个数组:
[
[0, 'Please select a Customer'],
[2072, 'S-Customer'],
[834, '01-Customer'],
[709, 'C-Customer'],
[4217, 'Test'],
[2074, 'A-Customer']
]
但是我怎样才能按数字和字母顺序对它进行排序,并且仍然具有相同的 ID,即第一个值?应该是这样的:
obs:第一个值不应更改。
[
[0, 'Please select a Customer'],
[834, '01-Customer'],
[2074, 'A-Customer'],
[709, 'C-Customer'],
[2072, 'S-Customer'],
[4217, 'Test']
]
您可以通过查找索引 0 并按索引 1 的值对其余数组进行排序来保留第一个数组
const
array = [[0, 'Please select a Customer'], [2072, 'S-Customer'], [834, '01-Customer'], [709, 'C-Customer'], [4217, 'Test'], [2074, 'A-Customer']];
array.sort((a, b) => !b[0] - !a[0] || a[1].localeCompare(b[1]));
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }