无法从数组内的对象中删除空元素

seb*_*res 1 javascript

我有一个具有这种结构的对象数组:

{"fecha":"24-07-2019",
  "local_id":"5",
  "local_nombre":"AHUMADA",
  "comuna_nombre":"LA CALERA",
  "fk_localidad":"12",
  "localidad_nombre":"LA CALERA",
  "local_direccion":"J J PEREZ 199",
  "funcionamiento_hora_apertura":"09:00 hrs.",
  "funcionamiento_hora_cierre":"08:59 hrs.",
  "local_telefono":"+563326316573",
  "local_lat":"-32.7882065329844",
  "local_lng":"-71.189446195146",
  "funcionamiento_dia":"Miercoles",
  "fk_region":"6"
}
Run Code Online (Sandbox Code Playgroud)

有时,此对象的1或2个elementos为空""我需要删除它们

问题是我已经尝试了很多删除它们的方法,但是我总是得到一个null对象数组。

我尝试过的

  const deleteEmpty = obj => {
    for (let prop in obj) {
      if (obj[prop] === null || obj[prop] === undefined) {
        console.log(obj[prop])
        delete obj[prop]
      }
    }
  }

// Supose my array of objects is in a const named 'objArr'
   const newObjArr = objArr.map(obj => {
     deleteEmpty(obj)
   })
Run Code Online (Sandbox Code Playgroud)

也尝试过

   const newArr = objArr.map(obj => {
     Object.keys(obj).forEach(
       key => obj[key] === null && delete obj[key]
     )
   }

Run Code Online (Sandbox Code Playgroud)

就像我说的,我得到的数组nulls长度与删除过程中放入的第一个数组的长度相同。不知道我在做什么错。

问候。

Has*_*leh 6

您必须在函数末尾返回对象

  const deleteEmpty = obj => {
    for (let prop in obj) {
      if (obj[prop] === null || obj[prop] === undefined) {
        console.log(obj[prop])
        delete obj[prop]
      }
    }
    return obj
  }
Run Code Online (Sandbox Code Playgroud)