Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:使用Join使数组成为字符串,使用输入参数作为分隔符Btw单词-->;替换错误_Javascript_Arrays_String_Join_Replace - Fatal编程技术网

JavaScript:使用Join使数组成为字符串,使用输入参数作为分隔符Btw单词-->;替换错误

JavaScript:使用Join使数组成为字符串,使用输入参数作为分隔符Btw单词-->;替换错误,javascript,arrays,string,join,replace,Javascript,Arrays,String,Join,Replace,我有以下代码: 函数myJoin(数组、分隔符){ 让newStr=array.join(分隔符)。替换(“\”,“”) 返回新闻 } myJoin(['let's','make','a','list']',''问题在于“\”。反斜杠转义结束引号,表示字符串未闭合。它应该是“\\” 下面是一个代码示例: 函数myJoin(数组、分隔符){ const newStr=array.join(分隔符).replace('\\','') 返回新闻 } const result=myJoin(['le

我有以下代码:

函数myJoin(数组、分隔符){
让newStr=array.join(分隔符)。替换(“\”,“”)
返回新闻
}
myJoin(['let's','make','a','list']',''问题在于
“\”
。反斜杠转义结束引号,表示字符串未闭合。它应该是
“\\”

下面是一个代码示例:

函数myJoin(数组、分隔符){
const newStr=array.join(分隔符).replace('\\','')
返回新闻
}
const result=myJoin(['let's','make','a','list'],'')

console.log(result)
如果要在replace中转义
,则必须使用两个反斜杠,即:
\\
。此外,
replace()
不是数组的函数,这必须在
字符串上完成,因此在
replace()
之前还必须交换put
join()

这将实现以下目的:
console.log(['let's','make','a','list'])join(“”)。replace(“\\”,“”);
问题是
“\”
。反斜杠是JavaScript中的一个引号字符,它会导致下一个字符被逐字处理。您需要编写
”\\“
创建一个反斜杠字符的字符串。

您不需要
replace()

字符串中的
\
实际上不是一个字符-它是转义序列的一部分。因此,除非试图替换字符串中的实际反斜杠,否则不需要替换它。这符合您的期望:

函数myJoin(数组、分隔符){
return array.join(separator)//这里不需要替换
}
log(myJoin(['let's','make','a','list']','')

数组。连接(分隔符)。替换(“\\”,”)
@PineNuts0不,它没有。我刚刚添加了一个console.log,您可以运行它进行检查。