Итак, для моего первого проекта я работал над созданием приложения для оценки очков в гольф. У меня есть один массив для каждого из игроков с 18 лунками и отдельный массив в другом классе для курса. Я могу получить общий балл, вычитаемый из общей суммы, чтобы получить конечный результат оценки 90 (+18). Однако, если все отверстия имеют парный набор, но игрок выполнил только 9 отверстий, оценка будет выглядеть как 45 (-27). Игроки баллы 0 по умолчанию, так что я думал о попытке сделатьКак получить значения двух отдельных массивов Int в паре с индексом, а затем выполнить условную операцию на определенных парах?
zip(playerScoreArray, courseParArray).enumerate().filter()
, где я бы отфильтровать playerScore дыры, что! = 0, добавить их вместе, возьмите пар для каждого из этих отверстий и добавить их вместе , и вычесть итоговый заполненный игрокHoleScores из курсаParNubers. Это дало бы мне точную + или - пар только на дырах, которые они до сих пор доработали.
Я использовал Array.reduce (0, comb +), но кроме этого, я все еще изучаю более сложные способы управления коллекциями и закрытиями.
Пример того, что я пытаюсь выполнить:
let playerScoreArray = [7, 5, 6, 4, 0, 0, 0, 0, 0]
let holeParArray = [4, 3, 5, 5, 4, 3, 4, 4, 4]
// get result 7-4, 5-3, 6-5, 4-5 = +5
// currentResult = 22-36 = -14
Благодаря
Я использовал верхнюю часть, и она отлично работала, спасибо – JustinM