#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. Я проверю это через несколько минут и дам вам знать, если это сработает, большое вам спасибо, сэр / мэм. 🙂