2016-07-16 153 views
14

如何檢查數組中的元素是否存在於underscore.js中?例如,我有['aaa', 'bbb', 'cfp', 'ddd'],並且想檢查是否存在'cfp'。如果有,我想展示一些文字。我下面的代碼不能正常工作,我不知道爲什麼:Underscore.js檢查數組中的元素是否存在?

<% _.each(profile.designations, function(i) { %>                       
      <% if (typeOf profile.designations[i] == "cfp") { %>                       

      <div class="cfp-disclosure-text">                           

       <p>Show this text if does exist</p>                                  

      </div>                                  

      <% } %>                                  

      <% }); %> 
+1

取出TYPEOF –

+1

@torazaburo這不是我認爲的PHP。 sk_225只是使用下劃線作爲模板引擎。 – marmeladze

回答

32

只需使用_.contains方法:

http://underscorejs.org/#contains

console.log(_.contains(['aaa', 'bbb', 'cfp', 'ddd'], 'cfp')); 
 
//=> true 
 

 
console.log(_.contains(['aaa', 'bbb', 'cfp', 'ddd'], 'bar')); 
 
//=> false
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>