Быстрое суммирование чисел в массиве с добавлением конкретного элемента - PullRequest
0 голосов
/ 27 ноября 2018

Допустим, у меня есть несколько чисел в массиве, как показано ниже

let numberArray = [1, 3, 4, 6, 9, 14, 16]

Я знаю, как суммировать их все, используя метод Reduce, но как мне начать добавлять числа из определенного элемента.Например:

//Sum all up by reduce
let sumAll = numberArray.reduce(0, +)
//sumAll = 53 

//I want to start counting from the fourth element in the array which is 6
//so the total should be 45. [6 + 9 + 14 + 16]

Какой метод я должен использовать, чтобы добиться этого?
Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Вы можете использовать dropFirst(_:) или использовать диапазон в качестве индекса.

Если это не фиксированное число, вы можете сначала использовать firstIndex(of:), чтобы определить индекс, с которого вы хотите начать.

numberArray.dropFirst(3).reduce(0, +)
numberArray[3...].reduce(0, +)
0 голосов
/ 27 ноября 2018

Выполнить reduce на нужном подмассиве:

let numberArray = [1, 3, 4, 6, 9, 14, 16]
let sum = numberArray[3...].reduce(0, +)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...