2016-06-29 14 views
0

Ich habe ein Objekt:Wert in einem Objekt zu finden

{ 
    id: 16, 
    defs: { 
     name: "Depot (Float)", field: "Depot" 
    } 
} 

Und einen Array (die mehr als ein Objekt in es haben kann, aber für die Zwecke dieser hat nur eine):

[ 
    { 
    Percentage Monthly Potential: 1, 
    Area Manager: "Ashar", 
    Business Unit: "Retail", 
    Cust no: 68345, 
    Depot Name: "Leicester", 
    Group Number: "", 
    Depot: 14, 
    Target: 46100 
    } 
] 

Was ich tun muss, ist den Feldwert aus dem Objekt zu nehmen und ihn zu verwenden, um den Schlüssel zu finden, der im zweiten Objekt übereinstimmt und den Wert davon abruft, also in diesem Fall sollte ich 14 bekommen.

Jede Hilfe mit diesem würde sehr geschätzt werden.

Danke für Ihre Zeit.

+1

Ich verstehe wirklich nicht, wie die beiden Objekte beziehen ... Aber könnten Sie es mit der 'Array.prototype.find' Methode versuchen? – Jite

+0

Erhalten Sie die Werte aller Objekte oder nur der ersten? –

+1

'var values ​​= secondArr.map (e => e [firstObj.defs.field])' und Sie erhalten alle Werte. – Redu

Antwort

1

Wenn Sie ES6 verwenden, können Sie dies versuchen:

const field = lookupObject.defs.field; 

const matches = array.map(arrayItem => { 
    return { 
     field, 
     value: arrayItem[field] 
    } 
}); 

Die matches Array die Daten enthalten, werden Sie interessiert sind

+1

Vielen Dank für Ihre Hilfe – BeeNag

Verwandte Themen