2016-08-06 34 views
-2

i bekam die folgende Array von ObjektenPartial Array Filter

[ 
     { 
       "name": "Jack Daniel", 
       "job": "Software Developer", 
       "age" : "40M" 
     }, 
     { 
       "name": "Sofia Daniel", 
       "job": "Web Developer", 
       "age" : "35F" 
     }, 
     { 
       "name": "John Smith", 
       "job": "Marketing", 
       "age" : "32M" 
     }, 
     { 
       "name": "Clara Johnson", 
       "job": "Designer", 
       "age" : "35F" 
     } 
] 

jetzt mit lodash i für das Alter oder Eigenschaft filtern Ich mag aber wie kann ich die folgenden erreichen.

  1. Suche nach 35 und eine Liste aller Objekte mit dem Alter 35F
  2. Suche nach Daniel bekommen und alle Objekte erhalten, dessen Name hat Daniel?

Ich habe das Gefühl, es ist sehr einfach.

+0

Bitte suchen Sie vor der Veröffentlichung, diese Frage gestellt wurde wiederholt vor: http://stackoverflow.com/search?q=%5Bjavascript%5D+filter+array –

Antwort

0

Sie können filter() mit indexOf() in reinem Javascript verwenden.

var data = [{"name":"Jack Daniel","job":"Software Developer","age":"40M"},{"name":"Sofia Daniel","job":"Web Developer","age":"35F"},{"name":"John Smith","job":"Marketing","age":"32M"},{"name":"Clara Johnson","job":"Designer","age":"35F"}] 
 

 
var result = data.filter(function(e) { 
 
    return e.age.indexOf(35) != -1 && e.name.toLowerCase().indexOf('daniel') != -1; 
 
}) 
 

 
console.log(result);