如何破译函数到键值对的映射

问题描述 投票:0回答:1

早上好。我正在尝试破译这个函数的作用,因为我是 JS 的新手,并逐行分解它。我还尝试将函数放入 Babel 中,看看它是否会更明确。

const t = objArray =>     
  Object.assign(
    {},
    ...objArray.map(
      ({ v, k }) => ({ [k]: v     
    }))
  );

这就是我相信正在发生的事情:

const t = objArray =>     
  Object.assign(
    {},
  1. 正在使用 objArray 的所有属性克隆数组对象
...objArray.map(
      ({ v, k }) => ({ [k]: v     
    }))
  );
  1. 这是我有点困惑的地方。 objArray 是否被映射到一个新的数组对象,其中每个数组元素都包含一个 key 和 val?

非常感谢任何破译这些复杂功能的帮助和提示。谢谢你

javascript mapping spread-syntax
1个回答
1
投票

该函数接受一个对象数组并将其转换为字典。

对象数组具有以下形状:

[
  {
    v, // 'v' holds some value
    k // 'k' holds some value
  },
...
]

对于数组中的每个对象,该函数都会获取值

k
并将其转换为键。值
v
成为关联值。

如果

k
v
已编号,则您在字典中获得的内容如下:

{
  [k1]: v1,
  [k2]: v2,
  [k3]: v3,
  ...
}
© www.soinside.com 2019 - 2024. All rights reserved.