在 JavaScript 中对并行数组进行排序

uni*_*nit 4 javascript arrays

我有几个名为名称和销售的并行数组。我让用户输入最多 100 名销售人员(显然是名字)及其销售额。我将这些打印到表格上没有问题。问题(无论如何对我来说)是它们需要根据销售额按降序排序。我创建了一个名为 的函数sort,其编码(很差 - 因为我刚刚开始学习 JavaScript)如下:

function sort(names, sales) {
    var i = 0;
    var j = 0;
    var temp = 0;
    for (var i = 0; i < sales.length - 1; i++) {
        var min = i;
        for (var j = i + 1; j < array.length; j++)
        if (sales[j] < (sales[min])) min = j;
        temp = sales[i];
        sales[i] = sales[min];
        sales[min] = temp;
        temp = names[i];
        names[i] = names[min];
        names[min] = temp;
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,我在这里需要一些帮助。任何人都可以帮忙指出其中的(无疑是很多)错误吗?

我们被指示编写我们自己的类型。销售额和名称是通过两个不同的函数(getName()getSales())使用提示输入的。

yba*_*kos 5

首先,为什么不使用单个二维数组,例如 SalesArray:

[ ['someName', 'someSale'], ['someName2', 'someSale2'], ]

接下来,只需在排序时检查 SalesArray[i][1] 即可。

至于排序,请尝试实现bubblesort,特别是如果您不熟悉排序算法。