Функционально чистый подход с использованием абстрактной функции
В общем, мы хотели бы получить новый объект, который не содержит определенных значений. Usign ES7:
const getObjWithoutVals = (dontReturnValsArr, obj) => (
Object.entries(obj).reduce(
(newObj, [key, val]) => {
if(!dontReturnValsArr.includes(val)) newObj[key]= val
return newObj
}
, {}
)
)
Личный случай - удалить пустые значения
Сначала давайте карри нашу функцию, чтобы мы могли использовать ее для этого сценария.
const curriedGetObjWithout = R.curry(getObjWithoutVals)
Теперь давайте создадим новую функцию, исключающую пустые значения
const getObjWithoutEmpty = curriedGetObjWithout(["", null, undefined])