删除Javascript数组中的反斜杠

时间:2018-01-22 14:35:19

标签: javascript arrays backslash

我有以下数组:

[ '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");
}

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

2 个答案:

答案 0 :(得分:0)

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

console demo

我输入"'",它的响应值相同。

我输入'"',它以"\""回复。两者都代表一个长度为1的字符串,其中包含一个双引号;但是控制台显示的那个用反斜杠逃脱了。这是因为控制台提供了有效的文字表示,如果字符串引用了双引号,则必须对其中的任何双引号进行转义。

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

答案 1 :(得分:-2)

&#39;为什么&#39;是因为您的字符串包含单引号,因此最终字符串中的引号由转义由\。

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