Javascript nodeJS util.format传递数组

Javascript nodeJS util.format传递数组,javascript,arrays,node.js,Javascript,Arrays,Node.js,我使用util.format格式化字符串,如下所示: util.format('My name is %s %s', ['John', 'Smith']); 第二个参数是数组:['John','Smith'],这一事实阻止我的代码替换第二个%s。但我需要它是一个数组,因为我不知道字符串可能有多少个参数 你有办法解决我的问题吗? 谢谢,这是事先准备好的 编辑: 包含占位符的字符串不是预定义的静态字符串。我从文件中读取它,因此占位符可能位于字符串中的任何位置。出于同样的原因,我也不知道占位符的数量

我使用util.format格式化字符串,如下所示:

util.format('My name is %s %s', ['John', 'Smith']);
第二个参数是数组:
['John','Smith']
,这一事实阻止我的代码替换第二个%s。但我需要它是一个数组,因为我不知道字符串可能有多少个参数

你有办法解决我的问题吗? 谢谢,这是事先准备好的

编辑:
包含占位符的字符串不是预定义的静态字符串。我从文件中读取它,因此占位符可能位于字符串中的任何位置。出于同样的原因,我也不知道占位符的数量。

如果您不知道该数组中有多少个变量,那么如何知道要在字符串中定义多少占位符

我建议您只使用一个占位符,只使用
.join()
数组,如

util.format('My name is %s', ['John', 'Smith'].join(' '));


更新

我想我搞错了,可以使用JavaScripts
Function.prototype.apply
从数组源向函数传递参数。这看起来像

util.format.apply(util,['My name is %s %s','John', 'Smith']);

当然,您也需要事先将占位符字符串
.unshift()
放入该数组。

对表中的每个字符串对象执行for-each循环,并每次替换一个%s。(例如['John','Smith']有2个字符串)

包含占位符的字符串不是预定义的静态字符串。我从文件中读取它,因此占位符可能位于字符串中的任何位置。出于同样的原因,我也不知道占位符的数量。@Bobos已更新。希望有帮助。回答得好!谢谢你!看来我需要更好地学习javascript;)