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,我有一个数组,数组中的每个数组都是这样设置的 [1, firstname, lastname, 22] 我一共有12个这样的数组,我试图按每个数组的第4个元素按降序对数组进行排序,但没有任何效果,也就是说,我一直在尝试使用比较函数进行数组排序,并查看每个数组中的第4个元素,但无法使其工作。以下是我目前拥有的: function sortArray (a, b){ return a-b; } for (var k = 0; k<employeeArray.length; k++)

我有一个数组,数组中的每个数组都是这样设置的

[1, firstname, lastname, 22]
我一共有12个这样的数组,我试图按每个数组的第4个元素按降序对数组进行排序,但没有任何效果,也就是说,我一直在尝试使用比较函数进行数组排序,并查看每个数组中的第4个元素,但无法使其工作。以下是我目前拥有的:

function sortArray (a, b){
    return a-b;
}

for (var k = 0; k<employeeArray.length; k++){
    var j = k-1;
    employeeArray.sort(sortArray([k][3],[j][3]));
}
函数排序(a,b){
返回a-b;
}

对于(var k=0;k,我建议在


.sort
方法处理排序。循环
不需要
for

相反,您需要让函数对两个条目进行正确排序:

function sortTwoArrays(a, b){
    return a[3] - b[3];
}
现在,您可以将其作为参数传递给
employeeArray的
sort
方法:

employeeArray.sort(sortTwoArrays);

这将修改阵列。

我建议您在上阅读


.sort
方法处理排序。循环
不需要
for

相反,您需要让函数对两个条目进行正确排序:

function sortTwoArrays(a, b){
    return a[3] - b[3];
}
现在,您可以将其作为参数传递给
employeeArray的
sort
方法:

employeeArray.sort(sortTwoArrays);

这将修改数组。

您正在将一个数值传递给
sort
。您需要传递一个返回此类数值的函数。类似于
employeeArray.sort((a,b)=>b[3]-a[3])
您正在将一个数值传递给
sort
。您需要传递一个返回这样一个数值的函数。类似于
employeeArray.sort((a,b)=>b[3]-a[3])
谢谢!这正是我想要做的!@Ryan请接受!谢谢!这正是我想要做的!@Ryan请接受!