1

Ich habe ein Array und ich benutze ng-repeat, um die Elemente im Array anzuzeigen. Ich möchte jedoch vergleichen, ob das Array das Wort "Arzt" enthält. Und wenn es Arzt enthält, muss ich etwas Logik machen.Wie man einen String in Winkel vergleicht

Mein Array ist als

Felder folgt: [ 'Forschung', 'Doktor', 'Erzieher']

Wie kann ich es tun? Hier

Antwort

3

ist ein Weg, in reinem Javascript zu tun:

['research','doctor','educator'].each(function(val){ 
    if (val == 'doctor') { 
    console.log("I'm a doctor"); 
    } 
}); 

Oder mit filter:

['research','doctor','educator'].filter(function(val){ 
    if (val == 'doctor') { 
    return val; 
    } 
}); 

können Sie einen benutzerdefinierten Filter verwenden, wo Sie die gleiche Logik wie beschrieben anwenden können in meine Antwort. Hier ist ein sehr schöner Artikel dazu: https://scotch.io/tutorials/building-custom-angularjs-filters.

So übergeben Sie einen Parameter als Filterwert an Ihre benutzerdefinierte Filterfunktion, dann wenden Sie in Ihrem HTML-Markup die Filterfunktion an.

+0

Simo, danke, aber das ist nicht das, was ich wollte. Denn alles ist dynamisch und ich bekomme diese aus eckigen Diensten all diese Arrays. Im HTML sollen wir diese Javascripts nicht gemäß unserem Projektparadigma verwenden. Also frage mich, ob es ng-Wiederholungsfilter usw. – Learner

+0

gibt Siehe meine aktualisierte Antwort. –

0

Versuchen Sie, diese

<script> 
    var _firstArray = ['research','doctor','educator']; 
    var _secondArray=_firstArray; 
    _firstArray.forEach(function(item){ 
     console.log(item); 
     console.log('test'); 
     if (_secondArray.indexOf(item) !==-1){ 
     console.log(item) 
     } 
     else{ 
     console.log("not matched"); 
     } 
    }) 

    </script> 

oder

<script> 
    var _firstArray = ['research','doctor','educator']; 
    var _secondArray='doctor'; 
    _firstArray.forEach(function(item){ 
     console.log(item); 
     console.log('test'); 
     if (_secondArray.indexOf(item) !==-1){ 
     console.log(item) 
     } 
     else{ 
     console.log("not matched"); 
     } 
    }) 

    </script> 
+0

können Sie auch zweite Zeichenfolge nach Ihren Anforderungen hinzufügen –

1

In html, habe ich Filter, einen guten Tag haben.

<span ng-if="(fields | filter: 'doctor': true)[0]"> 
 
      do something ... 
 
</span>