将数组合并到对象中给出未定义

Merge Arrays into Object gives undefined

我有一个关于将两个数组合并成一个 JSON 对象的问题。

我从 API 收到一个对象,该对象包含一个对象数组(列)和一个数组数组(数据)。

我使用 lodash 中的 zipObject 实现了以下内容,尝试合并列和数据,并使用列和数据创建 JSON 个对象。

  function prepareTable() {
    let columns = apiData.columns
    let array = columns.map(function (obj) {
      return obj.title
    })
    const tableObject = apiData.data.map(datum => {
      _.zipObject(array, datum)
    })

    console.log(tableObject)
  }

当我对 apiData.data 或列执行 console.log 时,我可以看到所有数据以及数组作为具有 18 个元素的 1 个数组:

然而,当我在控制台中打印 tableObject 时,它 returns 未定义。

当我对上面的代码执行 console.log(typeof datum) 时,我得到了 719 个对象类型。我认为这是问题所在,因为 zipObject 接收两个数组作为参数,一个用于道具,一个用于值。

我不明白为什么当我映射一个数组数组时,我得到对象作为每个映射项的类型。我希望数组。

有人知道问题出在哪里以及如何解决吗?

只需更改为:

    const tableObject = apiData.data.map(datum =>  _.zipObject(array, datum))