Javascript 使用Mozilla';s在Angular2+;中使用分隔符连接字符串的示例;?

Javascript 使用Mozilla';s在Angular2+;中使用分隔符连接字符串的示例;?,javascript,angular,typescript,Javascript,Angular,Typescript,我想用一个指定的分隔符来表示不确定数量的字符串参数,所以我在谷歌上搜索了这个问题,并看到了一个页面,说明如何使用参数对象来实现这一点 function myConcat(separator) { var args = Array.prototype.slice.call(arguments, 1); return args.every(x => x === '') ? '' : args.join(separator); } 当我在一个普通的JS编译器(如)中尝试这一点时,它工作

我想用一个指定的分隔符来表示不确定数量的字符串参数,所以我在谷歌上搜索了这个问题,并看到了一个页面,说明如何使用
参数
对象来实现这一点

function myConcat(separator) {
  var args = Array.prototype.slice.call(arguments, 1);
  return args.every(x => x === '') ? '' : args.join(separator);
}
当我在一个普通的JS编译器(如)中尝试这一点时,它工作得非常好!我再高兴不过了,我已经证明了,尝试过,测试过了

然而,当我将代码插入Angular 6应用程序时,我会遇到一个常见错误,即调用函数时,我传入了太多参数,并且它只需要一个参数

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

如果您使用arguments对象而不是arguments对象,它可能会工作:

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

你试过使用rest参数而不是依赖arguments对象吗?如果我知道这意味着什么,我可能会:-像这个函数一样的Psomething myConcat(separator,…strings){返回strings.every(x=>x==“”)?“”:strings.join(separator);}啊哈!我一直在寻找我如何能通过一个arg和一个长arg!当我尝试(…args,sep)时,我一定是弄错了。@physicsboy是的,rest参数必须是函数的最后一个参数。我以后会记住这一点!谢谢你的帮助:-)