У меня есть массив вроде x = [100,50,0,25,0,50,0,50], и я хочу, чтобы он был отсортирован в [100,0,25,0,0,50,50,0 ]. Я хочу отсортировать его так, чтобы x [i]> 70 совпадало с x [i] <40, и наоборот x [i] <70 && x [i]> 40 совпадений с x [i] <70 && x [i] > 40 и, наконец, x [i] <40 должно совпадать с x [i] <40 && x [i] <40 && x [i] <40. </p>
Что я пытаюсь сделать, это получить создание приложения, в котором вы получаете процент совпадений в виде массива и отображаете их в указанном порядке c, как я объяснил выше. Я попытался изменить алгоритм сортировки выбора, но он слишком медленный и не может масштабироваться. Я ищу лучшее решение.
Вот мой подход сортировки выбора: '' 'для (var j = 0; j
for(var i = j + 1; i < check.length; i++) {
if(fVal > 70) {
if(check[i] < 40) {
swap(i,j)
}
} else if(fVal > 40 && fVal < 70) {
if(check[i] > 40 && check[i] < 70) {
swap(i,j)
}
} else if (fVal < 40) {
if(check[i] < 40 || check[i] > 70) {
swap(i,j)
}
}
}
}
function swap(i, j) {
var b = check[j+1];
check[j+1] = check[i];
check[i] = b;
}
'' '