将列索引发送到排序函数
Send column index to sort function
这是一个按第一列对二维数组进行排序的函数。
var a = [[12, 'AAA'], [58, 'BBB'], [28, 'CCC'],[18, 'DDD']];
console.log(a.sort(sortFunction,100));
function sortFunction(a, b) {
if (a[0] === b[0]) {
return c;
}
else {
return (a[0] < b[0]) ? -1 : 1;
}
}
如何发送列索引而不是硬编码 0?
也许你可以尝试使用柯里化:
sortFunction = index => (a, b) => {
if (a[index] === b[index]) {
return 0;
}
else {
return (a[index] < b[index]) ? -1 : 1;
}
}
所以用法类似于
console.log(a.sort(sortFunction(1)));
这是一个按第一列对二维数组进行排序的函数。
var a = [[12, 'AAA'], [58, 'BBB'], [28, 'CCC'],[18, 'DDD']];
console.log(a.sort(sortFunction,100));
function sortFunction(a, b) {
if (a[0] === b[0]) {
return c;
}
else {
return (a[0] < b[0]) ? -1 : 1;
}
}
如何发送列索引而不是硬编码 0?
也许你可以尝试使用柯里化:
sortFunction = index => (a, b) => {
if (a[index] === b[index]) {
return 0;
}
else {
return (a[index] < b[index]) ? -1 : 1;
}
}
所以用法类似于
console.log(a.sort(sortFunction(1)));