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>
<% } %>
<% }); %>
Ответы
Ответ 1
Просто используйте метод _.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>