배열 내부 합 반환해보기 - reduce

w0308h 2월 16일 AM 08:07 3 0
w0308h Profile Image Level 9
2 #TIL

//통합하고자 하는 someNumbers
let someNumbers: [Int] = [2, 8, 15]

var result: Int = 0

//기존 for 구문 사용
for number in someNumbers {
	result += number
}
print(result) //25

//reduce 메서드 사용
//초깃값이 0이고 someNumbers 내부의 모든 값 더함
let sum: Int = someNumbers.reduce(0, { (first: Int, second: Int) -> Int in
	return first + second
})

print(sum) //25

var substract: Int = someNumbers.reduce(0, { (first: Int, second: Int) -> Int in
	print("\\(first) - \\(second)") // 0 - 2, -2 - 8, -10 - 15
	return first - second
})
print(substract) //-25

//초깃값이 3이고 someNumbers 내부의 모든 값 더함
var sumFromThree = someNumbers.reduce(3) { $0 + $1 } //3 + 2, 5 + 8, 13 + 15
print(sumFromThree) //28
댓글