javascript - 为什么带有foreach的JS concat方法返回空字符串?
问题描述
新手在这里,请原谅无知。当我使用 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)
}
解决方案
您需要使用扬声器分配给变量String#concat
或使用扬声器。
const concatSpeakersText = arr => {
const speakers = { speakerOneText: '', speakerTwoText: '' };
arr.forEach(utterance => {
speakers[utterance.speaker === '1'
? 'speakerOneText'
: 'speakerTwoText'
] += ' ' + utterance.text;
});
console.log(speakers.speakerOneText)
console.log(speakers.speakerTwoText)
}
推荐阅读
- iis - IIS CORS,在 JavaScript 获取请求上
- javascript - TypeScript:根据数字符号拆分数组并用空对象填充其余部分
- c++ - 在运行时选择模板
- javascript - 在单击“是”单选按钮时显示文本区域并在默认情况下或单击“否”单选按钮时保持隐藏
- angular - 如何在 api 请求中使用输入字段中的值?
- python - Python从列表中获取第二项
- typescript - 如何在 TypeScript 中为函数重用参数签名?
- javascript - 在 React 中使用 goBack() 时如何让我的 JQuery 再次运行
- javascript - 如何更改指定键的值?| 不和谐.js
- c# - 为 ASP.NET 核心和 .NET 核心 CLT 配置服务