我有一些带有2个数组的虚拟数据,这些数组会有一些重复的值。在我的模板中,我想比较2个数组,并将可见性类is-hidden
添加到任何匹配的重复项,但我不确定如何循环两个数组并进行匹配?我可以在某种isEqual
each loop
吗?
把手模板
<script type="text/html" id="tmpl">
<% _.each(mappedSessions, function(session) { %>
<p class="<% if(session === deleteSessions) { %>is-hidden<% } %>">
Mapped Entry <u><%= session %></u> Available
</p>
<% }) %>
</script>
JS
var data = {
"id": 1,
"deleteSessions": ["X0101"],
"mappedSessions": ["ABC123", "EDF092", "X0101"]
}
var template = _.template($('#tmpl').html());
$('.js-output').html(template(data));
答案 0 :(得分:1)
在这种情况下,更好的格式数据在发送到模板之前
var data = {
"id": 1,
"deleteSessions": ["X0101"],
"mappedSessions": ["ABC123", "EDF092", "X0101"]
}
var template = _.template($('#tmpl').html());
var sessions = _.map(data.mappedSessions, function (session) {
return {
isHidden: _.indexOf(data.deleteSessions, session) >= 0,
value: session
}
});
$('.js-output').html(template({ sessions: sessions }));
.is-hidden {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
<script type="text/html" id="tmpl">
<% _.each(sessions, function(session) { %>
<p class="<% if (session.isHidden) { %>is-hidden<% } %>">
Mapped Entry <u><%= session.value %></u> Available
</p>
<% }) %>
</script>
<div class="js-output"></div>
答案 1 :(得分:0)