如何在Javascript的正则表达式构造函数中使用特殊字符

如何在Javascript的正则表达式构造函数中使用特殊字符,javascript,arrays,regex,Javascript,Arrays,Regex,在这段代码中,我试图使用regex对象中的特殊字符来计算一个字符在数组中的次数,并获得重复奇数次的次数,我想使用插入符号字符来区分正数和负数。但它不起作用 函数findOdd(A){ //快乐编码! 返回A.find(num=>A.join(“”).match(RegExp(^num,“g”))。长度%2!=0); } console.log( findOdd([20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5]) );我所做的是: 正如您所做的那样,我使用连接(

在这段代码中,我试图使用regex对象中的特殊字符来计算一个字符在数组中的次数,并获得重复奇数次的次数,我想使用插入符号字符来区分正数和负数。但它不起作用

函数findOdd(A){
//快乐编码!
返回A.find(num=>A.join(“”).match(RegExp(^num,“g”))。长度%2!=0);
}
console.log(
findOdd([20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5])
);我所做的是:

正如您所做的那样,我使用
连接(“”
)连接了数组,并在regexp的开头添加了一个空格,同时在regexp的开头添加了一个空格,因此当您搜索“1”时,实际上是在搜索“1”和“-1”及其“-1”,这样它们就不会混淆,最后我使用了模运算符
。长度%2!==0检查长度是奇数还是偶数

这是一种方法

检查代码,它可能会帮助您

函数findOdd(A){
//快乐编码!
返回A.find((num,i,arr)=>((“”+arr.join(“”)。匹配(new RegExp(“”+num),“g”)。长度%2!==0);
}

log(findOdd([20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5])
^num
是一个语法错误。我认为答案很好,但我想知道是否可以在正则表达式构造函数中使用特殊字符。