es6模板字符串中不能使用...展开运算符吗

let arr1=['a','b','c'],
    arr2=[1,2,3];

console.log(`in (${...arr1})`);

想要达到 in (1,2,3)或者 in ('a','b','c')这种效果
但是会报错,只能自己写个函数了吗

编辑》》》感觉没办法省事...后面还是自己写了个函数

阅读 4.8k
7 个回答

...不是这么用的。。。
你的需求直接console.log(`in (${arr1})`);就行了

这么写

console.log(`in (${[...arr1]})`);
console.log(`in (${arr1.join(',')})`)

console.log(in (${arr1.map(v=>'${v}').join(',')}))

let arr1 = ["'a'","'b'","'c'"]
console.log(`in (${arr1})`);

你非要这么做的话。。。。

console.log(`in (${JSON.stringify([...arr1])})`);

再去掉 [] 就行了。。。

console.log(in (${arr1.map(e => "${e}")}));

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题