Как расшифровать функцию сопоставления для пар ключ-значение - PullRequest
1 голос
/ 04 ноября 2019

Доброе утро. Я пытаюсь расшифровать, что делает эта функция, поскольку я новичок в 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     
    }))
  );
Здесь я немного запутался. Отображается ли objArray на новый объект массива, в котором каждый элемент массива содержит ключ и значение val?

Любая помощь и советы по расшифровке этих сложных функций приветствуются. Спасибо

1 Ответ

1 голос
/ 04 ноября 2019

Эта функция принимает массив объектов и превращает его в словарь.

Массив объектов имеет следующую форму:

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

Для каждого объекта в массиве функция принимаетзначение k и настраивает его на ключ. Значение v становится связанным значением.

Если k и v пронумерованы, вот что вы получите в словаре:

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