试图从一个已知的映射函数构造一个数组
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 函数无法访问 uuid
但 console.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}}];
我试图构建一个 docs
数组,它可以在下面的 docs.maps()
函数上工作。然而,当我 运行 它时,我得到
TypeError: Cannot read property 'uuid' of undefined
如果我这样做
console.log(docs[1]['_source'].uuid);
我得到了预期的 2
。
问题
谁能弄清楚为什么 map 函数无法访问 uuid
但 console.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}}];