Javascript 按列对数组进行排序,作为函数中的参数
我可以按列对数组进行排序,如下所示: var myArr=[ [0,10,20,“堵塞”], [1,20,14,“胡萝卜”], [2,30,14,“奶油冻”], [3,40,16,“牛肉”], [4,0,16,“gwen”], ] 还是本末倒置Javascript 按列对数组进行排序,作为函数中的参数,javascript,ecmascript-3,Javascript,Ecmascript 3,我可以按列对数组进行排序,如下所示: var myArr=[ [0,10,20,“堵塞”], [1,20,14,“胡萝卜”], [2,30,14,“奶油冻”], [3,40,16,“牛肉”], [4,0,16,“gwen”], ] 还是本末倒置 如果这不合理,我会再写一次#spectrumofconfusion您可以对索引进行闭包,并将排序函数作为回调函数返回 var sortByIndex=函数(索引){ 返回函数(a,b){ 返回(a[index]>b[index])-(a[index]b
如果这不合理,我会再写一次#spectrumofconfusion您可以对索引进行闭包,并将排序函数作为回调函数返回
var sortByIndex=函数(索引){
返回函数(a,b){
返回(a[index]>b[index])-(a[index]
.as console wrapper{max height:100%!important;top:0;}
您可以对索引进行闭包,并将排序函数作为回调函数返回
var sortByIndex=函数(索引){
返回函数(a,b){
返回(a[index]>b[index])-(a[index]
.as控制台包装{max height:100%!important;top:0;}
让我们在这里进行一些函数编程:
constcmp=(a,b)=>(a>b)-(ao=>o[p]
常数by=f=>(x,y)=>cmp(f(x),f(y))
myArr=[
[0,10,20,“堵塞”],
[1,20,14,“胡萝卜”],
[2,30,14,“奶油冻”],
[3,40,16,“牛肉”],
[4,0,16,“gwen”],
]
myArr.sort(按第(2)列);
log(myArr.map(JSON.stringify))
myArr.sort(按第(3)列);
console.log(myArr.map(JSON.stringify))
让我们在这里进行一些函数编程:
constcmp=(a,b)=>(a>b)-(ao=>o[p]
常数by=f=>(x,y)=>cmp(f(x),f(y))
myArr=[
[0,10,20,“堵塞”],
[1,20,14,“胡萝卜”],
[2,30,14,“奶油冻”],
[3,40,16,“牛肉”],
[4,0,16,“gwen”],
]
myArr.sort(按第(2)列);
log(myArr.map(JSON.stringify))
myArr.sort(按第(3)列);
console.log(myArr.map(JSON.stringify))
请显示一个示例输入和输出,按照您想要的方式进行排序。您在哪里调用按列排序二维数组?在哪里定义了排序二维数组?另外,您确定ES3标记正确吗?您真的需要ecmascript-3的解决方案吗?@NinaScholz'fraid so!Adobe尚未从版本3更新Photoshop脚本。这需要在没有像map和filter以及所有其他好东西的情况下运行;)请显示一个输入和输出示例,按您想要的方式排序。您在哪里按列调用sort\u 2d\u array\u
以及sort\u 2d\u array
在哪里定义?另外,您确定ES3标记正确吗?您真的需要ecmascript-3的解决方案吗?@NinaScholz'fraid so!Adobe尚未从版本3更新Photoshop脚本。这需要在没有像map和filter以及所有其他好东西的情况下运行;)这被标记为ES3。我不完全确定OP是不是真的,但仍然是。这是标记为ES3的。我不完全确定OP是不是真的,但仍然如此。
myArr.sort(sort_2d_array);
function sort_2d_array(arr)
{
var column = 1;
if (a[column] === b[column])
{
return 0;
}
else
{
return (a[column] < b[column]) ? -1 : 1;
}
}
function sort_2d_array_by_column(arr, column)