2017-04-19 2 views
4

Ich lerne Javascript und dies kann eine grundlegende Frage sein, bitte helfen Sie mir unten zu erreichen.Get Key Wert Paare von unten Objekt mit Javascript

Ich konstruiere ein Array innerhalb obejct wie unten, um Daten später zu verwenden. Jetzt muss ich die Kategorie als "Hilfe" senden und muss alle Werte der Unterkategorie dynamisch abrufen.

[ 
    {"category":"Help","subcategory":"Email"}, 
    {"category":"Help","subcategory":"application"}, 
    {"category":"Help","subcategory":"Software"}, 
    {"category":"Help","subcategory":"Hardware"}, 
    {"category":"Request","subcategory":"Access"}, 
    {"category":"Request","subcategory":"Remote"}, 
    ] 

Vielen Dank im Voraus

Antwort

3

Sie könnten mit Array#filter ersten Filter und dann mit Array#map die Werte erhalten.

var array = [{ category: "Help", subcategory: "Email" }, { category: "Help", subcategory: "application" }, { category: "Help", subcategory: "Software" }, { category: "Help", subcategory: "Hardware" }, { category: "Request", subcategory: "Access" }, { category: "Request", subcategory: "Remote" }], 
 
    subcategory = array 
 
     .filter(a => a.category === 'Help') 
 
     .map(a => a.subcategory); 
 
    
 
console.log(subcategory);
.as-console-wrapper { max-height: 100% !important; top: 0; }

ES5

var array = [{ category: "Help", subcategory: "Email" }, { category: "Help", subcategory: "application" }, { category: "Help", subcategory: "Software" }, { category: "Help", subcategory: "Hardware" }, { category: "Request", subcategory: "Access" }, { category: "Request", subcategory: "Remote" }], 
 
    subcategory = array 
 
     .filter(function (a) { return a.category === 'Help'; }) 
 
     .map(function (a) { return a.subcategory; }); 
 
    
 
console.log(subcategory);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

Danke, es funktionierte !!! –

2

Sie sollten filter Methode verwenden, um dies zu erreichen.

Verwenden Sie auch map Methode, um ein neues Array nur mit der subcategories zu erstellen.

var array=[ 
 
    {"category":"Help","subcategory":"Email"}, 
 
    {"category":"Help","subcategory":"application"}, 
 
    {"category":"Help","subcategory":"Software"}, 
 
    {"category":"Help","subcategory":"Hardware"}, 
 
    {"category":"Request","subcategory":"Access"}, 
 
    {"category":"Request","subcategory":"Remote"}, 
 
]; 
 

 
var subcategories = array.filter(a => a.category === "Help").map(a => a.subcategory); 
 
console.log(subcategories);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

Hallo Mihai, Danke !! Wenn ich versuche, das obige Skript in der Browserkonsole auszuführen, erhalte ich den Fehler "Uncaught SyntaxError: Unexpected token =>". Ich werde wirklich dankbar sein, wenn Sie mir die Schritte geben können, um es im Detail zu tun –

+0

Ich benutze Google Chrome –

+0

Wahrscheinlich keine Pfeilfunktion akzeptiert. –

Verwandte Themen