如何按嵌套在javascript数组中的元素对其排序?

如何按嵌套在javascript数组中的元素对其排序?,javascript,arrays,sorting,multidimensional-array,Javascript,Arrays,Sorting,Multidimensional Array,这是我的阵列: var myarray=[ ["abc",1,**3**], ["def",2,**1**], ["ijh",0,**5**], ["abc",0,**5**] ]; 现在我想根据每个位置第二个元素的值对数组进行排序。查看高光值的位置 如何进行排序?如果希望按升序排序,请定义如下所示的比较函数 myarray.sort(function (item1, item2) { return item1[2] - item2[2]

这是我的阵列:

var myarray=[
       ["abc",1,**3**],
       ["def",2,**1**],
       ["ijh",0,**5**],
       ["abc",0,**5**]
];
现在我想根据每个位置第二个元素的值对数组进行排序。查看高光值的位置


如何进行排序?

如果希望按升序排序,请定义如下所示的比较函数

myarray.sort(function (item1, item2) { return item1[2] - item2[2]; });

我已经尝试了这个代码在我的最后它的工作很好,请尝试这一个

var myarray=[
       ["abc",1,'**3**'],
       ["def",2,'**1**'],
       ["ijh",0,'**5**'],
       ["abc",0,'**5**']
];
console.log(myarray);

myarray.sort(function(a, b){
 return b[1]-a[1]
})

console.log(myarray);

您可以在这里看到示例

您是否尝试过使用基本的冒泡排序算法

for(var i = 0; i < myarray.length; i++) {  
    if (myarray[i][1] > myarray[i+1][1]) {                         
        var tmp = myarray[i];
        myarray[i] = myarray[i+1];
        myarray[i+1] = tmp;
    }
}
(var i=0;i 如果(myarray[i][1]>myarray[i+1][1]){ var tmp=myarray[i]; myarray[i]=myarray[i+1]; myarray[i+1]=tmp; } }
myarray.sort只有在每个位置都有一个值的情况下才起作用。你能分享一下你期望的排序结果吗?第二个元素是什么?你为什么不能硬编码呢。访问第二个元素,然后将其插入到类似的排序算法中。当且仅当我在每个位置只有一个值时,此操作才有效。上述代码导致myarray排序
[[“def”,2,1],“abc”,1,3],“ijh”,0,5],“abc”,0,5]
(首先,数组的末尾是1,然后是1和3,最后是5)。如果不是预期结果,请显示您的预期结果,以便我能够相应地调整我的代码。这不是一个答案…用户不希望根据第二个元素进行排序..另外,您的答案和@rafael answer?之间有什么区别吗?…这是用户不想要的