ani
ani

Reputation: 516

Unable to implement reduce() to calculate count in Typescript

people = [
    {name: 'Mary', gender: 'girl'},
    {name: 'Paul', gender: 'boy'},
    {name: 'John', gender: 'boy'},
    {name: 'Lisa', gender: 'girl'},
    {name: 'Bill', gender: 'boy'},
    {name: 'Maklatura', gender: 'girl'}
]

var numBoys = people.reduce(function(n, person) {
    return n + (person.gender == 'boy');
}, 0);

I am trying to implement a functionality similar to this one. when i do it in JSBin its working . but when i implement in typescript its throwing error like operator + cannot be applied to number and boolean . Can someone point me whats the actual problem is . Is it because of typescript ? I have other reduce() that works fine to group objects based on property. why this alone throwing error

Upvotes: 0

Views: 1391

Answers (1)

Rohith K P
Rohith K P

Reputation: 3551

people = [{
    name: 'Mary',
    gender: 'girl'
  },
  {
    name: 'Paul',
    gender: 'boy'
  },
  {
    name: 'John',
    gender: 'boy'
  },
  {
    name: 'Lisa',
    gender: 'girl'
  },
  {
    name: 'Bill',
    gender: 'boy'
  },
  {
    name: 'Maklatura',
    gender: 'girl'
  }
]

var numBoys = people.reduce(function(n, person) {
  return person.gender == 'boy' ? n + 1 : n;
}, 0);

console.log(numBoys)

Upvotes: 3

Related Questions