试图从一个已知的映射函数构造一个数组

Trying to construct an array from a known map function

我试图构建一个 docs 数组,它可以在下面的 docs.maps() 函数上工作。然而,当我 运行 它时,我得到

TypeError: Cannot read property 'uuid' of undefined

如果我这样做

console.log(docs[1]['_source'].uuid);

我得到了预期的 2

问题

谁能弄清楚为什么 map 函数无法访问 uuidconsole.log() 可以?

const docs = [{'_id': 1},{'_source': {'uuid': 2}},{'_source': {'@timestamp': 3}}];

const description = dedent`
================================================
${
  docs.map((element) => [
    `Log entry ID: ${element['_id']}`,
    `UUID: ${element['_source'].uuid}`,
    `Timestamp: ${element['_source']['@timestamp']}\n`,
  ].join('\n')).join('--------------------\n')
}
`;

console.log(description);

你必须像这样构造

const docs = [{'_id': 1,'_source': {'uuid': 2,'@timestamp': 3}}];