gpt4 book ai didi

jquery - 对多维数组中的数组与其他数组关联进行排序

转载 作者:行者123 更新时间:2023-12-01 08:36:47 24 4
gpt4 key购买 nike

我有三个长度相同的关联数组。这些数组位于多维数组中。像这样的事情:

var multi_array = [];
var array_a = [2,3,4,1,5];
var array_b = [0,7,9,8,6];
var array_c = ['A','D','B','A','E'];

multi_array = [array_a, array_b, array_c];

enter image description here

所以如果我尝试像这样对 multi_array 进行排序:

multi_array[0].sort(function(a,b){
if(isNaN(a) || isNaN(b)){
return a > b ? 1 : -1;
}
return a - b;
});

它只对第一个数组进行排序。

enter image description here

我希望其他数组按相同的不定数排序取决于已排序的数组,如下所示:

enter image description here

最佳答案

不是最干净的代码,但它会打印你的答案:

var array_a = [2, 3, 4, 1, 5];
var array_b = [0, 7, 9, 8, 6];
var array_c = ['A', 'D', 'B', 'A', 'E'];

// get indices from array_a sorted
var len = array_a.length;
var indices = new Array(len);
for (var i = 0; i < array_a.length; ++i) indices[i] = i;
indices.sort(function(a, b) {
return array_a[a] < array_a[b] ? -1 : array_a[a] > array_a[b] ? 1 : 0;
});

// sorted array_b and sorted_array_c
var sorted_array_a = [];
var sorted_array_b = [];
var sorted_array_c = [];
for (var i = 0; i < indices.length; ++i) {
sorted_array_a.push(array_a[indices[i]]);
sorted_array_b.push(array_b[indices[i]]);
sorted_array_c.push(array_c[indices[i]])
}

var multi_array = [sorted_array_a, sorted_array_b, sorted_array_c]


console.log(multi_array);

关于jquery - 对多维数组中的数组与其他数组关联进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53045817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com