编程基础之JS数组排序

function sortArrays(arrays) { // 按第一个元素排序 arrays.sort((a, b) => a[0] - b[0]);

let sorted = false; while(!sorted) { sorted = true; for(let i = 0; i < arrays.length - 1; i++) { // 如果相邻两个数组的第一个元素相同 if(arrays[i][0] === arrays[i+1][0]) { // 就按第二个元素排序 if(arrays[i][1] > arrays[i+1][1]) { let temp = arrays[i]; arrays[i] = arrays[i+1]; arrays[i+1] = temp; sorted = false; } } } }

return arrays; }

// 测试 let arrays = [[1, 4], [1, 3], [1, 5], [2, 1]]; console.log(sortArrays(arrays)); // [[1, 3], [1, 4], [1, 5], [2, 1]]

主要思路是:

  1. 首先按第一个元素排序

  2. 检查相邻两个数组的第一个元素是否相同,如果相同则按第二个元素排序

  3. 不断重复此过程,直到排序完成这个算法同样适用于任意多维数组的排序。

Subscribe to LoveNft.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.