Javascript数组的模板文字

时间:2017-06-14 13:50:46

标签: javascript ecmascript-6

当我尝试将数组放入JavaScript数组时,la,

> `${[1,2,3]}`

我回来了

'1,2,3'

而不是

'[1,2,3]'

在最新的Node&铬。

我遗失了一些令人难以置信的明显的东西,但不过需要它拼写出来:)

3 个答案:

答案 0 :(得分:1)

默认情况下,插入到模板文字中的值将转换为其字符串表示形式。

对于表示调用其.toString()方法的对象。数组的字符串表示只是一个逗号分隔的元素字符串表示列表,没有前导[或尾随]



console.log(
  [1,2,3].toString()
);




答案 1 :(得分:0)

您应该使用JSON.stringify(array) 它可以帮助您预测此数组中任何数组到字符串的转换。

const array = [["expected","test",1],0];
const arrayStr = JSON.stringify(array);
const templateResAsString = `${array}`; // expected,test,1,0
const templateResAsarray = `${arrayStr}`; // [["expected","test",1],0]

答案 2 :(得分:0)

推荐名单,包括以上答案:

const arr = [1,2,3,4,5,'foo','bar','baz']


console.log(JSON.stringify(arr));
console.log(JSON.stringify(arr, null, 2));
console.log(arr.toString());
console.log(`${arr}`);
console.log(arr.join('\n'));

祝你好运...