Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对二维javascript数组进行排序?_Javascript_Arrays_Sorting - Fatal编程技术网

如何对二维javascript数组进行排序?

如何对二维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]。如果

我想按值对全局数组进行排序,但我不知道如何排序

我不能使用任何库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);
});