javascript - nodeJS util.format 传递一个数组

标签 javascript arrays node.js

我正在使用 util.format 来格式化这样的字符串:

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

事实上,第二个参数是一个数组:['John', 'Smith'],阻止我的代码替换第二个 %s。但我需要它是一个数组,因为我不知道字符串可能包含的参数的确切数量。

你有办法解决我的问题吗? 提前致谢。

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

最佳答案

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

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

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

<罢工>


更新

我想我错了,你可以使用 JavaScript Function.prototype.apply将参数从数组源传递给函数。这可能看起来像

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

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

关于javascript - nodeJS util.format 传递一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23652341/

相关文章:

javascript - 处理所有 DevExtreme 输入小部件的更改事件

javascript - 原型(prototype)框架破坏其他脚本

javascript - 滚动渐变时如何更改div颜色?

c++ - 如何确定另一个结构中的结构数组的长度

java - 在旋转排序数组中查找具有重复元素的元素

javascript - 通过 node.js 观看 FTP 文件夹

javascript - 是否可以将变量从一个 innerhtml 传递到另一个 innerhtml

c++ - 程序只读取第一行! C++

node.js - ZMQ 套接字在 Kubernetes 上无法按预期工作

javascript - 有关构建 Hapi.js 应用程序(包括使用 bookshelf.js 构建的模型)的建议