Я пытаюсь отобразить некоторые данные API, используя экспресс (REST) и EJS (механизм шаблонов), в зависимости от того, какое значение имеет «статус». Если какой-либо элемент в массиве содержит статус, отличный от «ЗАКРЫТО», он должен продолжить и показать их, и если для каждого элемента в массиве значение статуса установлено на «ЗАКРЫТО», он должен отобразить сообщение о том, что «не найдено / нет активных дел». "
<% for (var i=0, n=array.length; i < n; ++i){ %>
<% if (array[i].status !== "CLOSED") { %>
// This works as intendend and only renders array items without the status set to closed
<div><% array[i].status %> </div>
<% } else { %>
// This will however render this message the in the amount of array items that exists.
<div>Not found / no active cases </div>
<% } %>
Как я могу каким-то образом выйти из цикла и отобразить сообщение только один раз?
Следующее было опробовано, и оно работает, но сообщение продолжает зацикливаться.
<% for (var i=0, n=array.length; i < n; ++i){ %>
<% if (array[i].status !== "CLOSED") { %>
// This works as intendend and only renders array items without the status set to closed
<div><% array[i].status %> </div>
<% } else { %>
// This will however render this message the in the amount of array items that exists.
<div>Not found / no active cases </div>
<% } %>
Я также пробовал это, это дает тот же результат, что и выше.
<% for (var i=0, n=array.length; i < n; ++i){ %>
<% if (array[i].status !== "CLOSED") { %>
<div><% array[i].status %> </div>
<% } else if (array[i].status === "CLOSED") { %>
<div>Not found / no active cases </div>
<% } %>
<% } %>
🤔 А знаете ли вы, что...
С JavaScript можно создавать расширения для различных платформ, таких как Adobe Acrobat и Microsoft Office.
Вы можете отфильтровать все элементы, у которых нет статуса CLOSED
, и если они есть, отобразить их, иначе показать сообщение:
<% const notClosed = array.filter(el=> el.status !== 'CLOSED'); %>
<% if (notClosed.length > 0) {%>
<% notClosed.forEach(el=>{ %>
<div><%= el.status; %> </div>
<% }); %>
<% } else { %>
<div>Not found / no active cases </div>
<% } %>