gpt4 book ai didi

javascript - 无法获取映射的映射以返回值

转载 作者:行者123 更新时间:2023-11-28 17:02:01 25 4
gpt4 key购买 nike

我不明白为什么它返回未定义:

filterComms = (cards) => {
emptyArray = []
emptyArray[0] = cards
// console.log('emptyArray', emptyArray)
emptyArray.map(
(v, i) => {
return(
v.comment.map(
(c, i) => {
if (c.parent_comment_id === null) {
console.log(c)
return c
}
}
)
)
}
)
}

当我 console.log c 时,我收到了正确的值。

这就是我输入的数据:https://codepen.io/schoenbl/pen/JgdOQN?editors=0010

最佳答案

您没有返回映射的值 - 事实上,因为您没有为从 map 返回的新数组分配任何内容(它不会改变原始数组),整个 map 函数是无用的,因为结果没有被分配给任何东西,因此它被垃圾收集。最简单的修复方法是返回 map

return emptyArray.map(...);

如果您尝试在箭头函数中使用 ES6 隐式返回,则要求粗箭头 => 之后的第一个非空白字符不是是开头大括号{。您的函数可以轻松地像这样简化,特别是因为您基本上是在创建一个新数组 - 您甚至不需要 emptyArray 变量。您还可以混合一些解构来仅获取所需的属性:

filterComms = cards => [cards].map(({ comment }) => comment.map(({ parent_comment_id, ...c }) => parent_comment_id === null ? { ...c, parent_comment_id } : undefined));

关于javascript - 无法获取映射的映射以返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57129579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com