JavaScript — Использование карты для фильтрации и возврата нового объекта в ES6

Использование карты для фильтрации и возврата нового объекта в es6

У меня есть следующий код:

  allDesignDocs.rows.forEach((row: any) ={amp}gt; { if (!designDocsName.includes(row.id.replace("_design/", ""))) { toBeRemoved = [{ _id: row.id, _rev: row.value.rev, "_deleted": true }, ...toBeRemoved]; } }); 

который отлично работает Однако я хотел бы использовать подход обновления на месте. Поэтому я выбрал карту, а не foreach:

  var test = allDesignDocs.rows.map((row: any) ={amp}gt; { if (!designDocsName.includes(row.id.replace("_design/", ""))) { return { _id: row.id, _rev: row.value.rev, "_deleted": true }; } }); 

Таким образом, вышеприведенное возвращает массивы, включая неопределенные, когда условие не выполняется. Я просто хочу, чтобы массив содержал значения, возвращаемые изнутри if и игнорировал все неопределенные. Я знаю, что могу зациклить результат и очистить его, но это не чистый способ. Есть ли какая-либо функция es6, которая может обеспечить вышеуказанную функциональность?

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector