Object.keys(form.value).filter(a => form.value[a] !== null).forEach(key => {
map[key] = form.value[key];
});
Object.keys принимает значение вашей формы (объект) и превращает его в массив всех свойств объекта.Таким образом, Object.keys будет таким массивом: ['value1', 'value2'] в вашем примере.
Далее вам нужны только свойства в form.value, которые не являются правильными?Таким образом, фильтр присваивает каждому имя «a» (на первой итерации это действительно «value1») и проверяет, имеет ли form.value [a]! == значение null.Фильтры работают, если возвращают true, этот элемент проходит, если не удается, элемент склеивается из массива.
Теперь у вас есть только ключи, в которых form.value [key] не равно нулю.Так что сделайте a для каждого и установите желаемый объект карты из этого значения form.value [ключ].
form.value [ключ] - это то же самое, что и form.value.key, но так как ключдинамический, вы не можете сделать это.Вы должны написать это следующим образом: form.value [ключ].