Как получить значения в массиве после сравнения

#javascript #arrays

#javascript #массивы

Вопрос:

Вот мой JavaScript:

 let test = [
  {
    name : 'doe',
    age : 8
  },
  {
    name : 'john',
    age : 17
  }
],
console.log(test.reduce((acc, curr) => curr.age > acc ? curr.age : acc, 0))
 

Я провел сравнение с возрастом, но я хочу, чтобы результатом было имя ( John ). если я утешу curr.name результат doe . Как я мог это сделать?

Ответ №1:

Вы можете сохранить весь объект в накопителе и использовать назначение деструктурирования.

 let test = [
  {
    name : 'doe',
    age : 8
  },
  {
    name : 'john',
    age : 17
  }
];
let {name} = test.reduce((acc, curr) => curr.age > acc.age ? curr : acc, {age: 0});
console.log(name); 

Комментарии:

1. @dediwibisono Нет проблем.

2. привет, есть небольшая проблема, например, я добавил еще один объект с тем же возрастом {‘name’: ‘steve’, ‘age’: 17} . Не могли бы вы показать [John, steve] . потому что на данный момент я пытаюсь показать только John @ iota

3. @dediwibisono В этом случае вы можете задать новый вопрос.