Массив объектов, который проверяет возраст каждого объекта, а затем возвращает имя всех объектов, соответствующих этому возрасту. - PullRequest
0 голосов
/ 14 апреля 2019

У меня был этот вопрос на экзамене, и я понял его неправильно, и я старался изо всех сил читать MDN Web Docs, но, потратив всего неделю на изучение JavaScript, я понятия не имею, что я ищу. Это то, что я могу вспомнить из своего экзамена, что это вымышленное состояние только 15-летних и выше могут быть няньками. Я использовал ".find ()", и я мог произвести только 1 человека, и это дало мне весь объект, и они просто хотели имя. Дали один день в половине, чтобы найти ответ сам, но я заблудился. ПОМОГИТЕ!

Если у вас также есть ссылка, чтобы я мог прочитать больше об этом, это будет полезно, потому что другие учащиеся сказали, что у них было подобное, и попросили их усреднить весь возраст. Массивы и объекты заставляют меня уже биться головой о стену.

function legalBabysitter(sitters){
};

/*Do not modify anything below this line*/

const babysitterArray = [
    {name: 'Peter', age: 13},
    {name: 'Paul', age: 15},
    {name: 'Mary', age: 17}
];

console.log(legalBabysitter(babysitterArray)); // should produce [Paul, Mary]

Ответы [ 5 ]

1 голос
/ 14 апреля 2019

Вы можете использовать фитлер и карту, как это return sitters.filter(c=>c.age >= 15).map(c=>c.name);

function legalBabysitter(sitters){
  return sitters.filter(c=>c.age >= 15).map(c=>c.name);
};

/*Do not modify anything below this line*/

const babysitterArray = [
    {name: 'Peter', age: 13},
    {name: 'Paul', age: 15},
    {name: 'Mary', age: 17}
];

console.log(legalBabysitter(babysitterArray)); // should produce [Paul, Mary]
0 голосов
/ 14 апреля 2019

Если вы не знаете .filer и .reduce, вы можете сделать это с помощью .forEach.

const babysitterArray = [
    {name: 'Peter', age: 13},
    {name: 'Paul', age: 15},
    {name: 'Mary', age: 17}
];

function legalBabysitter(sitters){
  let target = [];
  
  sitters.forEach(_ => {
    if (_.age > 14) target.push(_.name)
  })
  
  return target;
  
};

console.log(legalBabysitter(babysitterArray))
0 голосов
/ 14 апреля 2019

const babysitterArray = [
    {name: 'Peter', age: 13},
    {name: 'Paul', age: 15},
    {name: 'Mary', age: 17}
];

function legalBabysitter(sitters){
  return sitters.filter(_ => _.age > 14).map(_ => _.name)
};

console.log(legalBabysitter(babysitterArray))
0 голосов
/ 14 апреля 2019

Если вам нужно только для экзамена, вы можете использовать для цикла, это очень ясно.

function legalBabysitter(sitters){
  var result = [];
  for(var i =0; i < sitters.length; i ++){
     if(sitters[i].age >= 15){
        result.push(sitters[i].name);
     }
  }
  return result;
};

function legalBabysitter(sitters){
  var result = [];
  for(var i =0; i < sitters.length; i ++){
     if(sitters[i].age >= 15){
        result.push(sitters[i].name);
     }
  }
  return result;
};

/*Do not modify anything below this line*/

const babysitterArray = [
    {name: 'Peter', age: 13},
    {name: 'Paul', age: 15},
    {name: 'Mary', age: 17}
];

console.log(legalBabysitter(babysitterArray)); // should produce [Paul, Mary]
0 голосов
/ 14 апреля 2019

Вы можете использовать уменьшить

Здесь идея

  • Цикл по массиву
  • Убедитесь, что возраст больше или равен 15, чем добавить имя к оператору
  • остальное оставь как есть
  • возврат операции из функции

function legalBabysitter(sitters){
  return sitters.reduce((op,inp)=>{
    if(inp.age >= 15){
      op.push(inp.name)
    }
    return op
  },[])
};

/*Do not modify anything below this line*/

const babysitterArray = [
    {name: 'Peter', age: 13},
    {name: 'Paul', age: 15},
    {name: 'Mary', age: 17}
];

console.log(legalBabysitter(babysitterArray)); //
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...