我想使用 reduce
函数而不是这样做:
var result = '';
authors.forEach(
function(author) {
result += author.name + ', ';
}
);
console.log(result);
所以在数组 authors
中有几个名字。现在我想用这个名字构建一个字符串,用逗号分隔(最后一个除外)。
var result = authors.reduce(function (author, index) {
return author + ' ';
}, '');
console.log(result);
原文由 user3142695 发布,翻译遵循 CC BY-SA 4.0 许可协议
刚刚收到一连串的答案,这里还有一个!
第一个选项是使用本机 js join 方法,它消除了 reduce 的需要。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
重要- 如果你的数组包含对象,那么你可能想在加入之前映射它:
或者,如果您真的热衷于使用 reduce,只需确保在传入回调时使用以前的值、当前值和索引即可。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
重要- 如果您的数组包含对象,那么您将需要确保您使用的是“名称属性”: