如何对二维javascript数组进行排序?
我想按值对全局数组进行排序,但我不知道如何排序 我不能使用任何库jquery,下划线 谢谢 目标是要知道什么对象的价值较小。 a、 b,c,d的值为50,1,4,29 我可以对值进行排序,但如何知道与此值关联的名称?您没有正确地将global[]用作循环中的数组。不能使用[title]引用数组项,可以将其推送到数组全局.pushvalue[i]或使用全局[i]=value[i]。如果使用这两种方法中的任何一种,只需调用“global.sort”对数组进行排序,即可得到[1,29,4,50]。如果要将数组用作多维数组,则需要将循环更改为以下内容:如何对二维javascript数组进行排序?,javascript,arrays,sorting,Javascript,Arrays,Sorting,我想按值对全局数组进行排序,但我不知道如何排序 我不能使用任何库jquery,下划线 谢谢 目标是要知道什么对象的价值较小。 a、 b,c,d的值为50,1,4,29 我可以对值进行排序,但如何知道与此值关联的名称?您没有正确地将global[]用作循环中的数组。不能使用[title]引用数组项,可以将其推送到数组全局.pushvalue[i]或使用全局[i]=value[i]。如果使用这两种方法中的任何一种,只需调用“global.sort”对数组进行排序,即可得到[1,29,4,50]。如果
var global=[];
var value=[50,1,4,29];
var title=["d","b","c","a"];
title.forEach(function(title,i) {
global[title]=value[i];
})
这将给你[Object{d=50},Object{b=1},Object{c=4},Object{a=29}]
如果你想排序,你可以使用sort,它有一个函数,你可以编写你的自定义排序器,但我不认为你可以使用它,因为你所有的键都是不同的。如果所有键都相同,比如“value”,即[Object{value=50},Object{value=1},Object{value=4},Object{value=29}],则可以执行以下操作:
title.forEach(function(title,i) {
global[i] = {};
global[i][title]=value[i];
})
但这无法应用于您的数组,因为所有键都不同。请显示预期结果。全局未用作数组。它被用作对象键值存储、映射、哈希表…-因此,它本质上是无序的。谢谢,但我如何解决这个问题呢?这似乎是一个非常简单的问题,但我不知道如何简单地解决它。我认为这是一个明确的答案,你在理解方面有什么问题?
global.sort(function(a,b) {
return parseInt(a.value, 10) - parseInt(b.value, 10);
});