【发布时间】:2021-03-10 22:20:40
【问题描述】:
这里是新手,请原谅我的无知。我想知道为什么我的结果变量是一个空字符串,当我使用 forEach 和 concat 方法遍历数组时。
const concatSpeakersText = arr => {
const speakerOneText = ''
const speakerTwoText = ''
arr.forEach(utterance => {
utterance.speaker === '1' ? speakerOneText.concat(' ', utterance.text) : speakerTwoText.concat(' ', utterance.text)
})
console.log(speakerOneText)
console.log(speakerTwoText)
}
【问题讨论】:
-
你永远不会使用 concat 的结果。
-
字符串是不可变的。
concat()返回一个新字符串,你需要将它赋回变量。 -
Duplicate of String Concat not working in scope JS。阅读documentation of
concat。这与forEach无关。您可以将 minimal reproducible example 减少到let str = ""; str.concat("string"); console.log(str);。 -
感谢资源和反馈
标签: javascript string-concatenation