首页 > 解决方案 > 在 Angular2+ 中使用 Mozilla 的连接字符串和分隔符示例?

问题描述

我想用指定的分隔符连接不确定数量的字符串参数,所以我用谷歌搜索了这个问题,并在Mozilla 的网站上找到了一个页面,说明如何使用该arguments对象来做到这一点。

function myConcat(separator) {
  var args = Array.prototype.slice.call(arguments, 1);
  return args.every(x => x === '') ? '' : args.join(separator);
}

当我在诸如repl.it之类的普通 JS 编译器中尝试此操作时,它运行良好!我非常高兴能够证明、尝试和测试它。

但是,当将代码插入我的 Angular 6 应用程序时,我得到一个常见的错误,指出在调用函数时,我传递了太多参数并且它只需要一个。

我能做些什么来让它在 Angular 6 中工作吗?

标签: javascriptangulartypescript

解决方案


如果您使用rest 参数而不是 arguments 对象,它可能会起作用:

function myConcat(separator, ...strings) {
 return strings.every(x => x === '') ? '' : strings.join(separator);
}

推荐阅读