我想创建,将采取以下两个阵列的功能:(数据填充其他地方)排序两个数组失败的两位数字
var playerImport = []
playerImport[0] = "";
playerImport[1] = "";
playerImport[2] = "";
playerImport[3] = "";
playerImport[4] = "";
var scoreImport = []
scoreImport[0] = "";
scoreImport[1] = "";
scoreImport[2] = "";
scoreImport[3] = "";
scoreImport[4] = "";
和两个数组排序在一起。
例如,scoreImport [0]是最低的值,一旦排序,应该带着playerImport [0]。
我目前有这个作为我的功能。
function sortHighscores(a, b)
var swapped;
do {
swapped = false;
for (var i=0; i < a.length-1; i++) {
if (a[i] > a[i+1])
{
var temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
var temp = b[i];
b[i] = b[i+1];
b[i+1] = temp;
swapped = true;
}
}
} while (swapped);
虽然这个作品,如果我尝试了两个阵列和一个或多个scoreImport的含有一个两位数字,而其余部分包含一个排序,它只是它把直底部,并不能正确排序。例如,如果scoreImport [4] = 20,其余的是单个数字的数字,则二十的值被排序为scoreImport [0],也被称为最低值。
我怎样才能得到这个函数来理解排序单个和两个数字值?面对这个挑战时,它似乎崩溃了。
希望你能得到我想解释的东西。
很多人提前感谢。
要排序为字符串我想,这样“20”是不是“3”小! – surajck
你可以把一些示例值,而不是只是空的字符串?问题可能在于它们是字符串而不是数字,因此“9”大于“11”。可以将它们每次存储为数字或'parseInt()' – Rhumborl