gpt4 book ai didi

使用动态列的 JavaScript 数组排序

转载 作者:搜寻专家 更新时间:2023-11-01 04:59:13 25 4
gpt4 key购买 nike

<分区>

我有一些使用 JavaScript 数组排序的代码可以工作,但似乎效率很低。

出于示例目的,我定义了一个对象数组,如下所示

dummyData = [];
dummyData.push({ col01:"aa", col02:"ac", col03:"ab" });
dummyData.push({ col01:"ab", col02:"ab", col03:"ac" });
dummyData.push({ col01:"ac", col02:"aa", col03:"aa" });

然后我可以使用这样的函数对 col01 进行排序

function f_sort_col01(dataArg) {

dataArg.sort(function(res01, res02) {
var arg01 = res01.col01.toLowerCase();
var arg02 = res02.col01.toLowerCase();
if(arg01 < arg02) { return -1; }
if(arg01 > arg02) { return 1; }
return 0;
});

return dataArg;

}

这工作得很好,但问题是当我需要对不同的列进行排序时,我必须像这样创建一个全新的函数

function f_sort_col02(dataArg) {

dataArg.sort(function(res01, res02) {
var arg01 = res01.col02.toLowerCase();
var arg02 = res02.col02.toLowerCase();
if(arg01 < arg02) { return -1; }
if(arg01 > arg02) { return 1; }
return 0;
});

return dataArg;

}

这几乎是同一件事,只是在不同的列上。我想知道是否有可能按照这个思路做一些事情

function f_sort(dataArg, colName) {

dataArg.sort(function(res01, res02) {
var arg01 = res01.colName.toLowerCase();
var arg02 = res02.colName.toLowerCase();
if(arg01 < arg02) { return -1; }
if(arg01 > arg02) { return 1; }
return 0;
});

return dataArg;

}

这样列名就可以包含在参数中

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com