Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用map.reduce将数组转换为换行分隔字符串?_Javascript - Fatal编程技术网

Javascript 使用map.reduce将数组转换为换行分隔字符串?

Javascript 使用map.reduce将数组转换为换行分隔字符串?,javascript,Javascript,我认为应该可以使用map.reduce将数组转换为换行分隔的字符串。但由于某些原因,它不起作用。我做错了什么 copyLicenseCodesToClipboard = () => { // tslint:disable-next-line:no-any const licenseCodes = this.props.generateLicenseCodes.reduce((accumulator: any, element: LicenseCode) =>

我认为应该可以使用map.reduce将数组转换为换行分隔的字符串。但由于某些原因,它不起作用。我做错了什么

copyLicenseCodesToClipboard = () => {
    // tslint:disable-next-line:no-any
    const licenseCodes = this.props.generateLicenseCodes.reduce((accumulator: any, element: LicenseCode) =>
        accumulator.concat(element.code).concat('\n')
    );
    copyToClipboard(JSON.stringify(licenseCodes));
}
未捕获类型错误:acculator.concat不是函数

您还可以使用map和join,这在本例中似乎更直观

const licenseCodes = this.props.generateLicenseCodes.map((element)=>{return element.code;}).join("\n");

看起来您忘记传递数组作为初始值。在第一次迭代中,累加器将是this.props.generateLicenseCodes[0],它是一个许可证代码,而不是数组