а так же убрать эти элементы полностью из объекта. Как это сделать?
Пробовал через entries, чтобы был доступ к ключам и велью, но не выходит
const newObj = Object.entries(additionalValues)
.filter(value => value !== false)
.reduce((newObj, key) => (newObj[key] = additionalValues[key])
Пробовал через keys/values, так и не вышло, тк в каждом из случаев нет доступа к одному из элементов объекта
const newObj = Object.values(additionalValues)
.filter(value => value !== false)
.reduce((obj, key) => {
obj[key] = additionalValues[key];
return obj;
}, {});
у обьекта не может быть "вложенных обьектов" Обьект это не упорядоченная коллекция и у него есть только свойства
Object.entries даст пары [key, value], а не values
приведите пример структуры лучше - начальной + желаемой
Object.keys(a).reduce((acc, cur) => { if (a[cur] !== false) { acc[cur] = a[cur]; } return acc }, {})
Начальная { One: true Two: true Three: false Four: false Five: false } Желаемая { One: true Two: true } То есть, убрать те свойства, которые false
Вот выше вам подсказали правильное решение в имутабельном стиле
Спасибо большое
Обсуждают сегодня