Вы можете filter()
объектов.Вы должны filter()
записи объекта и затем снова преобразовать его в объект, используя Object.fromEntries()
const filter = { filterRows: ['one'] };
const templateMapper = { 'one': { title: 'one', }, 'two': { title: 'two', }, 'three': { title: 'three', }, }
const filterDialogView = filter.filterRows;
const filterTemplateMapper = Object.fromEntries(
Object.entries(templateMapper)
.filter(row => !filterDialogView.includes(row[0].title))
);
console.log(filterTemplateMapper);
Если Object.fromEntries()
не поддерживается вашим браузером, используйте reduce()
const filter = { filterRows: ['one'] };
const templateMapper = { 'one': { title: 'one', }, 'two': { title: 'two', }, 'three': { title: 'three', }, }
const filterDialogView = filter.filterRows;
const filterTemplateMapper = Object.entries(templateMapper)
.filter(row =>!filterDialogView.includes(row[0].title))
.reduce((ac,[k,v]) => (ac[k] = v,ac),{});
console.log(filterTemplateMapper);