[英]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.