Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class People{
- let firstName : String
- let lastName : String
- var fullName : String{
- get{
- return firstName + " " + lastName;
- }
- }
- var age : Int
- init(firstName : String, lastName : String, age : Int){
- self.firstName = firstName
- self.lastName = lastName
- self.age = age
- }
- }
- let p1 = People(firstName: "first P1", lastName: "last P1", age: 10)
- let p2 = People(firstName: "first P2", lastName: "last P2", age: 20)
- let peoples = [p1,p2]
- /// vairable with for loop
- extension Array where Element : People{
- var averageAge : Int {
- var totalAge = 0;
- for people in self{
- totalAge += people.age
- }
- return totalAge / self.count;
- }
- }
- print( peoples.averageAge)
- // vairable with reduce
- extension Array where Element : People{
- var averageAgeWithReduce : Int {
- let totalAge = self.reduce(0){ (result, next )->Int in
- return result + next.age
- }
- return totalAge / self.count
- }
- }
- print( peoples.averageAgeWithReduce)
- // method with reduce
- extension Array where Element : People{
- func averageAgeWithMethod() -> Int {
- let totalAge = self.reduce(0){ (result, next )->Int in
- return result + next.age
- }
- return totalAge / self.count
- }
- }
- print( peoples.averageAgeWithMethod())
Add Comment
Please, Sign In to add comment