我一整天都在努力解决这个问题而没有一个好的解决方案.谷歌一直没有什么帮助.我有一个脚本需要接受具有未知数量的行/列的二维数组.该脚本还需要接受一维数组,该数组包含要排序的列列表,另一个包含要排序的顺序.电话会看起来像这样:
var orderList = {0,4,3,1};
var orderDir = {asc,desc,desc,asc};
dataArr = do2DArraySort(dataArr, orderList, orderDir);
Run Code Online (Sandbox Code Playgroud)
函数do2DArraySort应返回按第一列(按升序排序)排序的dataArr数组,然后按第五列(按降序排序),然后按第三列(按降序排序),再按第二列(按降序排序)排序.我可以使用下面的代码将其设置为两级,但是一旦我尝试添加第三个排序列,它就会崩溃.我理解为什么,但我无法找到一个好的方法来使它工作.
有这样做的标准方法吗?有人能指出我在线的好脚本,我可以学习并用作模板吗?或者有人建议修改我的代码以使其工作?
谢谢!
//appends an array content to the original array
function addToArray(originalArray, addArray) {
if (addArray.length != 0) {
var curLength = 0;
curLength = originalArray.length;
var maxLength = 0;
maxLength = curLength + addArray.length;
var itrerateArray = 0;
for (var r = curLength; r < maxLength; r++) {
originalArray[r] = addArray[itrerateArray];
itrerateArray++;
}
}
}
function do2DArraySort(arrayToBeSorted, sortColumnArray, sortDirectionArray) {
if (arrayToBeSorted == "undefined" …Run Code Online (Sandbox Code Playgroud)