Я изучаю JS, и я делаю приложение, чтобы найти победителей за каждое отверстие в игре в гольф. Игрок с меньшим количеством ударов является победителем дыры, но иногда более одного игрока может связать отверстие с одинаковыми штрихами, поэтому, чтобы найти победителя отверстия, мне нужно оценить количество ударов от связанных игроков в следующее отверстие и сломать галстук, если галстук сохраняется, мне нужно оценить следующее отверстие и так далее.Функция разрыва связи js
Функция foo должна возвращать массив с индексом, положением или именами победителя или победителей дыры (если галстук невозможно сломать).
Вот мой код:
var players = [
"Jug 1",
"Jug 2",
"Jug 3",
"Jug 4"
];
var arrHoyos = [
[4, 3, 3, 4],
[4, 5, 4, 5],
[4, 4, 5, 6]
];
function foo(array) {
var arrWinners = [];
//arrHoyos
for (var i = 0, len = array.length; i < len; i++) {
var arr = array[i];
var arr2 = array[(i + 1) % array.length];
var pos = 0;
var min = 0;
var tie = false;
var temp = [];
var temp2 = [];
min = Math.min.apply(null, arr);
//arr
for (var j = 0, len2 = arr.length; j < len2; j++) {
if (min == arr[j]) {
temp.push(arr.indexOf(min, j));
}
}
if (temp.length > 1) {
tie = true;
var counter = 0;
while (tie == true) {
for (var count = 0; count < temp.length; count++) {
pos = temp[count];
temp2[count] = arr2[pos];
}
min = Math.min.apply(null, temp2);
for (var count2 = 0; count2 < temp.length; count2++) {
if (temp2[count2] != min) {
temp.slice(count2, 1);
}
}
if (temp.length == 1 || counter == array.length) {
tie = false;
}
counter++;
}
}
arrWinners[i] = players[temp[0]];
console.log(temp, temp2);
console.log(arrWinners[i]);
}
}
foo(arrHoyos);
Chrome результат консоли:
[1, 2] [5, 4]
Jug 2
[0, 2] [4, 5]
Jug 1
[0, 1] [4, 3]
Jug 1
В чем проблема с кодом так, как сейчас? –
Я получаю этот результат: – Devsalad
Неполный, я просто получаю позиции (индекс) лучших баллов за каждое отверстие. Мне нужно связать значение этих позиций (temp) и значений этих индексов в следующем отверстии (массиве), чтобы разбить фактический массив привязки и левого темпа только одним индексом. – Devsalad