Javascript 在控制台日志输出中转义单引号

Javascript 在控制台日志输出中转义单引号,javascript,Javascript,我将自定义JavaScript放入GTM容器中,以循环通过我使用.map创建的超链接数组。然后根据其中的值(使用索引号和href值的组合)创建JSON输出 注意:ES6解决方案在这里不起作用,因为GTM不幸不支持它。 我无法避开单引号: 我希望输出如下: 'id': '1', 'name': 'https://example.com', 'creative': 'store-banner', 'position': 'slot-1' 下面是我将数组打印到控制台日志中并为其分配适当语法的尝试:

我将自定义JavaScript放入GTM容器中,以循环通过我使用.map创建的超链接数组。然后根据其中的值(使用索引号和href值的组合)创建JSON输出

注意:ES6解决方案在这里不起作用,因为GTM不幸不支持它。

我无法避开单引号:

我希望输出如下:

'id': '1',
'name': 'https://example.com',
'creative': 'store-banner',
'position': 'slot-1'
下面是我将数组打印到控制台日志中并为其分配适当语法的尝试:

for (var i = 0; i < carouselArray.length; ++i) {
  console.log("'id':" + '\(i+1)'\ + ", 'name': " + '\carouselArray[i]'\ + ", 'creative': store-banner, 'position': slot-" + \'(i+1)'\);
}
for(变量i=0;i
我试图让动态值被单引号包围,但我不断出现语法错误,似乎无法找出我做错了什么。有人能帮我看看我遗漏了什么或做了什么不正确的事情吗?

var carouselArray=[{'id':'1',
'姓名':'https://example.com',
“创意”:商店横幅,
'position':'slot-1'}]
对于(变量i=0;i}
由于您不能使用ES6,这里有一种老式的方法可以按照您想要的方式显示阵列:

const ar=['https://example.com', 'http://example.net', 'https://example.org'];
对于(变量i=0;i}
需要在“”之前加上\号,但没有必要将其转义,因为您用双引号将其括起来。如果要访问变量或其他内容,或索引+1,只需键入(index+1)

您还可以使用模板文本。使用回勾可以执行以下操作:

for (var i = 0; i < carouselArray.length; ++i) {
  console.log({
     'id': `${i+1}`,
     'name': `${carouselArray[i].name}`,
     'creative': 'store-banner', // assuming this is a string? Not variable
 'position': `slot-${i+1}`
});


你能发布你试图循环的实际数组吗?删除所有的斜杠来解决你的语法错误——不需要任何斜杠。然后,使用它让你的生活更轻松。谢谢@costaparas的建议,但我是在GTM中这样做的,不幸的是它不支持ES6。@RyanCoolwebs好吧,希望你早点指出。@codemonkey,记下了-我的错。我已经更新了问题,使之更清楚。数组中只包含一个URL字符串列表。这太棒了!谢谢GTM只支持JS的一个奇怪的自定义ES5.1子集,这真是太遗憾了。@RyanCoolwebs听到这个消息我真的很惊讶。看在上帝的份上,这是2021年。
carouselArray.map((carousel, index) => {
    console.log({
        'id': index+1,
        'name': carousel.name,
        'creative': 'store-banner',
        'position': index+1
    });
});