【发布时间】:2018-09-30 15:16:11
【问题描述】:
这是一个初学者的问题。我是递归函数的新手,无法快速弄清楚为什么下面的代码可以工作,但是当尝试在一行中完成所有这些时,它在 React 中没有。
// Works:
generateDummyData(num, sentences) {
sentences.push(randomSentence());
return num === 1 ? sentences : this.generateDummyData(num-1, sentences);
}
// Doesn't Work:
generateDummyData(num, sentences) {
return num === 1 ? sentences : this.generateDummyData(num-1, sentences.push(randomSentence()));
}
我想知道是否有更好的方法来完成我想要完成的工作。
更新
一个不错的解决方法是创建一个新数组并将旧数据传播到新数组中。我不知道性能和内存是否会受到类似的影响,但它确实有效。
generateDummyData(num, sentences) {
return num === 1 ? sentences : this.generateDummyData(num-1, [...sentences, randomSentence()]));
}
【问题讨论】:
标签: javascript reactjs recursion