我有几个名为名称和销售的并行数组。我让用户输入最多 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())使用提示输入的。
首先,为什么不使用单个二维数组,例如 SalesArray:
[ ['someName', 'someSale'], ['someName2', 'someSale2'], ]
接下来,只需在排序时检查 SalesArray[i][1] 即可。
至于排序,请尝试实现bubblesort,特别是如果您不熟悉排序算法。
| 归档时间: |
|
| 查看次数: |
2594 次 |
| 最近记录: |