Show age between 20 and 30 in an array - javaScript

0

I would like to create a function as simple as possible that it receives an Array of Person objects (example format: {name: "Alex",age: 24} ) that returns a new array only with Person objects that are aged between 20 and 30 years.

My code is this:

var pessoa = [{
        nome: 'Diego',
        age: 17,
    },
    {
        nome: 'Natalia',
        age: 12,
    },
    {
        nome: 'David',
        age: 27,
    },
    {
        nome: 'Daniel',
        age: 30,
    },
];

function idade(pessoa) {
    if (age => 20 && <= 30) {
        (a partir daqui nao sei como fazer)
    }    
}

I do not know if the code is right, I want some help on how to do it.

    
asked by anonymous 06.03.2017 / 21:24

1 answer

2

One way is to use Array # filter from javascript to filter only people who meet the age criteria:

var pessoas = [{
    nome: 'Diego',
    age: 17,
  },
  {
    nome: 'Natalia',
    age: 12,
  },
  {
    nome: 'David',
    age: 27,
  },
  {
    nome: 'Daniel',
    age: 30,
  },
];

function idade(pessoas) {
  return pessoas.filter(pessoa => pessoa.age > 19 && pessoa.age < 31);
}

var novoArray = idade(pessoas);
console.log(novoArray);

Using% classic%:

var pessoas = [{
    nome: 'Diego',
    age: 17,
  },
  {
    nome: 'Natalia',
    age: 12,
  },
  {
    nome: 'David',
    age: 27,
  },
  {
    nome: 'Daniel',
    age: 30,
  },
];

function idade(pessoas) {
  let novoArray = [];
  for (let i = 0 ; i < pessoas.length ; i++){
      if (pessoas[i].age > 19 && pessoas[i].age < 31)
         novoArray.push(pessoas[i]);
  }
  return novoArray;
}

var novoArray = idade(pessoas);
console.log(novoArray);
    
06.03.2017 / 21:28