Node.js Elemente via name finden und nach Value sortieren?
Hallo zusammen :)
Aktuell hab ich wieder ein bisschen Probleme mit JSON. Ich habe folgendes JSON:
[
{ name: 'total_kills', value: 39781 },
{ name: 'total_deaths', value: 33467 },
{ name: 'total_time_played', value: 2764991 },
{ name: 'total_planted_bombs', value: 1504 },
{ name: 'total_defused_bombs', value: 650 },
{ name: 'total_wins', value: 19162 },
{ name: 'total_damage_done', value: 5867115 },
{ name: 'total_money_earned', value: 106397000 },
{ name: 'total_rescued_hostages', value: 7 },
{ name: 'total_kills_knife', value: 572 },
{ name: 'total_kills_hegrenade', value: 74 },
{ name: 'total_kills_glock', value: 1549 },
{ name: 'total_kills_deagle', value: 2344 },
]
Jetzt muss ich mir alle Einträge rausziehen wo: name = total_kills_* und diese in absteigender Reihenfolge Nach value sortieren. Wie setz ich das am schönsten um?
Nach der Reihe suchen, matchen und ggf. in ein Array schmeißen ginge, aber das muss schöner gehen :)
Danke und LG
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
Nutzer, der sehr aktiv auf gutefrage ist
let myjson = [
{ name: 'total_kills', value: 39781 },
{ name: 'total_deaths', value: 33467 },
{ name: 'total_time_played', value: 2764991 },
{ name: 'total_planted_bombs', value: 1504 },
{ name: 'total_defused_bombs', value: 650 },
{ name: 'total_wins', value: 19162 },
{ name: 'total_damage_done', value: 5867115 },
{ name: 'total_money_earned', value: 106397000 },
{ name: 'total_rescued_hostages', value: 7 },
{ name: 'total_kills_knife', value: 572 },
{ name: 'total_kills_hegrenade', value: 74 },
{ name: 'total_kills_glock', value: 1549 },
{ name: 'total_kills_deagle', value: 2344 },
]
let myres = (
myjson.filter(
elem => {
return elem.name.search("total_kills") > -1
}
)
).sort((a,b) => {return b.value-a.value})
console.log(myres);
output
[{
name: "total_kills",
value: 39781
}, {
name: "total_kills_deagle",
value: 2344
}, {
name: "total_kills_glock",
value: 1549
}, {
name: "total_kills_knife",
value: 572
}, {
name: "total_kills_hegrenade",
value: 74
}]
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, JavaScript, Programmieren & Softwareentwicklung
Einmal filtern https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
und direkt danach sortieren https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
Die kannst du direkt aneinanderhängen.
Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung
da fehlt noch search für das teilfinden .