Получение 5 лучших элементов с наибольшим значением во вложенном массиве

#javascript

#javascript

Вопрос:

Я просматривал StackOverflow и другие форумы, и, похоже, я не могу найти решение этой проблемы.

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

Вот массив, из которого я пытаюсь получить элементы.

 var data = [{ a: "b", value: 12}, {a: "bb", value: 39 }, {a: "bb", value: 150 }, { a: "c", value: 15}, {a: "cc", value: 83 }, {a: "ccc", value: 12 }, { a: "d", value: 55}, {a: "dd", value: 9 }, {a: "dd", value: 1 }]
 

Вот пример того, что я хотел бы вернуть

 [{a:"b",value:150},{a:"cc",value:83},{a:"d",value:55},{a:"bb",value:39},{a:"c",value:15}]
 

Любая помощь очень ценится 🙂

Ответ №1:

 var data = [
  { a: 'b', value: 12 },
  { a: 'bb', value: 39 },
  { a: 'bb', value: 150 },
  { a: 'c', value: 15 },
  { a: 'cc', value: 83 },
  { a: 'ccc', value: 12 },
  { a: 'd', value: 55 },
  { a: 'dd', value: 9 },
  { a: 'dd', value: 1 }
];

const res = data.sort((a, b) => b.value - a.value).slice(0, 5);
console.log(res); 

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

1. Я проверю это через несколько минут и дам вам знать, если это сработает, большое вам спасибо, сэр / мэм. 🙂