删除 Javascript 数组中的反斜杠

Remove backslash in Javascript array

我有以下数组:

[ 'https://scihub.copernicus.eu/dhus/odata/v1/Products(\'67c8ca21-bcdf-4298-
aaf0-ae23c18510f1\')/$value',
'https://scihub.copernicus.eu/dhus/odata/v1/Products(\'313fbef3-f53c-456f-
be75-1002a3b3e2a5\')/$value',
'https://scihub.copernicus.eu/dhus/odata/v1/Products(\'31df567e-399b-4065-
9399-75f4233cba5f\')/$value',
'https://scihub.copernicus.eu/dhus/odata/v1/Products(\'f643e5f4-3791-436e-
 b304-4d451391af4d\')/$value',
'https://scihub.copernicus.eu/dhus/odata/v1/Products(\'9faebdb4-5697-4070-
 aafe-2c2d1ee99a06\')/$value' ]

数组是这个表达式的结果:

 requestarray = [];
for (i=0; i<data.length;i++) {
    requestarray.push(url_search + "(" + "'" + data[i] + "'" + ")/$value");
}

为什么要插入“\”,我该如何避免或修复它?

'why' 是因为您的字符串包含单引号,因此最终字符串中的引号由 \.

转义

在你的情况下你可以避免它,因为你自己输入了单引号,你可能会输入双引号。

我的控制台恰好更喜欢用双引号显示字符串:

我输入"'",它返回相同的值。

我输入'"',它响应"\""。两者都表示长度为 1 的字符串,其中包含一个双引号;但是控制台显示给我的那个是用反斜杠转义的。这是因为控制台给出了有效的文字表示,如果字符串用双引号引起来,则必须转义其中的任何双引号。

但这纯粹是表象,字符串实际上并不包含反斜杠。