2017-09-13 2 views
0

Hallo Ich habe Reihe von Freunden this.vennerZugang Array-Werte - AngularJS

enter image description here

auch habe ich Array genannt this.convensations und Ausgabe wie this.venner ist, aber id hier genannt wird partner_id (partner_id Ausgang 54312 ist, 54345 , 54346)

jetzt möchte ich vergleichen, wenn this.convensation partner_id und this.venner id wenn gleiche

etwas wie folgt aus:

if (this.convensation in this.venner) { 
    //do something 
} else { 
    // do something 
} 

Antwort

1

lösen Sie die Array.prototype.some() Methode verwenden können.

Wenn Sie wickeln, dass in einem eigenen checkExistsInArray Funktion ...

function checkExistsInArray(arr, compareObj){ 
    return arr.some(function(obj){ 
    return compareObj[Object.keys(compareObj)] === obj[Object.keys(compareObj)]; 
    }); 
} 

... dann sollten Sie in der Lage sein, dass in einem benutzerdefinierten Objekt vergleichen, indem für beide Arrays zu verwenden.

var friendExists = checkExistsInArray(this.venner, { id: this.friend }); 

var conversationExists = checkExistsInArray(this.conversations, { partner_id: this.friend }); 

Side Hinweis: Wie andere haben darauf hingewiesen, gibt Bibliotheken da draußen zu tun, leicht diese Art der Sache. Zwei der Hauptspieler, die mir bekannt sind, sind Underscore.js und Lodash. Selbst wenn Sie sich entscheiden, sie nicht zu benutzen, kann es manchmal hilfreich sein zu sehen, wie sie unter der Haube arbeiten, wenn Sie ein wenig Inspiration suchen.

1

Sie Filter verwenden können,

var result = this.venner.filter(t=>t.id === '54312'); 
if (result.length >0) { 
    //do something 
} else { 
    // do something 
} 
+0

Ich habe meine Frage bearbeitet, bitte sehen Sie, wenn Sie mir helfen können. –

0

einfach können Sie diese mit Undescore.js _.find Funktion

if (.find(this.friend, {"id":this.venner) { 
    //do something 
} else { 
    // do something 
} 
+0

Vielen Dank für Ihre Antwort, ich habe meine Frage aktualisiert, sehen Sie, ob Sie mir helfen können. –

+0

kannst du deine arrays kommentieren – Dushyantha

+0

hier ist screenshot von meinem ersten array (this.venner) und zweiten array this.convensations ist wie this.venner aber id hier "partner_id" genannt –