早上好。我试图破译此功能的作用,因为我是JS新手,并将其逐行分解。我还尝试将函数放入Babel中,以查看它是否更加明确。

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


我认为这是正在发生的事情:

const t = objArray =>
  Object.assign(
    {},



使用objArray的所有属性克隆一个数组对象


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



这是我有点困惑的地方。是否将objArray映射到一个新的数组对象,其中每个数组元素都包含一个键和val?


解密这些复杂功能的任何帮助和技巧都将不胜感激。谢谢

最佳答案

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

对象数组具有以下形状:

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


对于数组中的每个对象,该函数采用值k并将其调整为键。值v成为关联的值。

如果kv被编号,则这是您在词典中获得的内容:

{
  [k1]: v1,
  [k2]: v2,
  [k3]: v3,
  ...
}

10-08 02:36