我想用指定的定界符连接不确定数量的字符串参数,所以我用Google搜索了这个问题,并遇到了Mozilla's website上的一页,指示如何使用arguments对象执行此操作。

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


当我在普通的JS编译器(如repl.it)中尝试此操作时,它运行得非常完美!对其进行证明,尝试和测试,我感到非常高兴。

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

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

最佳答案

如果使用rest parameters而不是arguments对象,则可能会起作用:

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

10-06 08:22