javascript - 通过将最后一个值与下一个索引中的第一个值匹配来对 2D 数组进行排序

标签 javascript arrays sorting multidimensional-array

基本上,我有这个数组

array = [[1,0],[2,1],[0,3],[3,2]]

是否有任何快速方法可以将数组转换为如下所示

array = [[0,3],[3,2],[2,1],[1,0]]

我想要的是新数组的第一个元素在嵌套数组的第一个位置始终包含 0。这很简单,因为 sort() 函数正是这样做的;困难的部分是像上面那样对新数组进行排序。

用最简单的术语来说,我希望嵌套数组能够“连接”:查看第一个嵌套数组的 3 如何与其他 3 匹配这是正确的等等。

请随意留下任何评论,以便我可以更好地解释问题。

最佳答案

对于您给出的示例,最简单的解决方案是按每个内部数组的第二个元素对二维数组进行排序,如下所示:

let array = [[1,0],[2,1],[0,3],[3,2]];
array.sort((a, b) => b[1] - a[1]);

这样就可以根据内部数组的元素,使用sort方法对数组进行排序。

let array = [[1,0],[2,1],[0,3],[3,2]];
array.sort((a, b) => b[1] - a[1]);
console.log(array);

关于javascript - 通过将最后一个值与下一个索引中的第一个值匹配来对 2D 数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70787936/

相关文章:

java - 错误: “; Expected Not a statement ”

javascript - 在 React 中修改并重新渲染 DOM 结构时出现意外行为

javascript - 在 PhantomJS 中使用 Jasmine 测试 $interval

php - Foreach 给出 undefined variable 错误

Javascript sort() 不按升序返回

java - 查找 3 个数字中第二小的

c++ - 归并排序中选择中间元素

javascript - 如何限制用户只能选中5个复选框

javascript - Angularjs:$window.history.go 在 iOS 中不工作

arrays - 从 R 中的数据框创建三维数组