繁体   English   中英

Javascript 数组的模板文字

[英]Template Literals for Javascript Arrays

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

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

我拿回来这个

'1,2,3'

并不是

'[1,2,3]'

在最新的 Node 和 Chrome 中。

我遗漏了一些非常明显的东西,但仍然需要向我说明:)

你应该使用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]

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

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

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

包含上述答案的合并列表:

 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'));

祝你好运...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM