删除 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
的字符串,其中包含一个双引号;但是控制台显示给我的那个是用反斜杠转义的。这是因为控制台给出了有效的文字表示,如果字符串用双引号引起来,则必须转义其中的任何双引号。
但这纯粹是表象,字符串实际上并不包含反斜杠。
我有以下数组:
[ '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
的字符串,其中包含一个双引号;但是控制台显示给我的那个是用反斜杠转义的。这是因为控制台给出了有效的文字表示,如果字符串用双引号引起来,则必须转义其中的任何双引号。
但这纯粹是表象,字符串实际上并不包含反斜杠。