У меня есть следующий код:
allDesignDocs.rows.forEach((row: any) => {
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) => {
if (!designDocsName.includes(row.id.replace("_design/", ""))) {
return { _id: row.id, _rev: row.value.rev, "_deleted": true };
}
});
Поэтому вышеприведенное возвращает массивы, в том числе неопределенные, когда условие не выполняется. Я просто хочу, чтобы массив содержал значения, возвращаемые изнутри if и игнорировал все неопределенные. Я знаю, что могу зациклить результат и очистить его, но это не чистый способ. Есть ли какая-либо функция es6, которая может обеспечить вышеуказанную функциональность?