如果我有一个像[1,2,3]
这样的数组,我想用它来填充如下字符串:
the values are (?, ?, ?)
有一种简单的方法吗?
我知道您可以使用...[1,2,3]
进行传播,并且将数组转换为['?', '?', '?']
很容易,但是当我执行以下操作时它不会起作用:< / p>
the values are (${...['?', '?', '?']})
答案 0 :(得分:1)
传播并没有真正实现这一点。
从问题中,您是否希望字符串中的?
或数组中的值不清楚。所以两者:
如果你真的想要?
(字面意思),map
与join
一起做:
`the values are (${theArray.map(() => "?").join(", ")})`
var theArray = [1, 2, 3];
console.log(`the values are (${theArray.map(() => "?").join(", ")})`);
或者String#repeat
或slice
删除最后一个分隔符:
`the values are (${"?, ".repeat(theArray.length).slice(0, -2)})`
var theArray = [1, 2, 3];
console.log(`the values are (${"?, ".repeat(theArray.length).slice(0, -2)})`);
如果您想要这些值,那么只需join
:
`the values are (${theArray.join(", ")})`
var theArray = [1, 2, 3];
console.log(`the values are (${theArray.join(", ")})`);