如何检查数组中的元素是否存在于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>
<% } %>
<% }); %>
答案 0 :(得分:51)
只需使用_.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>
答案 1 :(得分:0)
您可以使用 ES6 数组 includes
const designations = ['aaa', 'bbb', 'cfp', 'ddd'];
const exists = fruits.includes('cfp');
console.log(exists);
或者我们可以直接使用
console.log(['aaa', 'bbb', 'cfp', 'ddd'].includes('cfp'))