Underscore.js检查数组中的元素是否存在?

sk_*_*225 21 underscore.js

如何检查数组中的元素是否存在于underscore.js中?例如,我有['aaa', 'bbb', 'cfp', 'ddd'],并想检查是否'cfp'存在.如果是的话,我想展示一些文字.我的代码不起作用,我不知道为什么:

<% _.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>                                                                                                                                       

            <% } %>                                                                                                                                     

            <% }); %>
Run Code Online (Sandbox Code Playgroud)

Mik*_*kov 52

只需使用_.contains方法:

http://underscorejs.org/#contains

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

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