如何检查字符串是否是JavaScript中的运算符(+、-、*、/、==、==)?

如何检查字符串是否是JavaScript中的运算符(+、-、*、/、==、==)?,javascript,Javascript,有没有一种廉价的方法来区分JavaScript中的运算符?非评估 i、 给定一个字符串形式的运算符“+”,你怎么知道它是+ As typeof“+”-将返回字符串 isNaN'+'-将返回true,但isNaN'-'也将返回true 这个问题的背景是LeetCode挑战:我不是在寻找挑战的解决方案,我只是好奇你可以使用ASCII码。我们在c/c++中的实现方式。例如,+ascii码等于45。现在你可以检查了 if(45 === 'str[i]]'.charCodeAt(0)) { // do

有没有一种廉价的方法来区分JavaScript中的运算符?非评估

i、 给定一个字符串形式的运算符“+”,你怎么知道它是+

As typeof“+”-将返回字符串

isNaN'+'-将返回true,但isNaN'-'也将返回true


这个问题的背景是LeetCode挑战:我不是在寻找挑战的解决方案,我只是好奇你可以使用ASCII码。我们在c/c++中的实现方式。例如,+ascii码等于45。现在你可以检查了

if(45 === 'str[i]]'.charCodeAt(0))
{
  // do something
}

如果没有,我希望这有帮助,那么请随时询问

迭代您怀疑字符串可能是的所有运算符:

var isOperator = ['+', '-', '*', '/', '==', '==='].some((item) => {
    return item === inputStr;    
})

一种方法是将运算符存储在数组中,然后使用数组方法检查元素是否为运算符:

常量运算符=['+'、'-'、'*'、'/'、'=='、'==']; 常数等运算符=e=>operators.includese; 设exp=[10,6,9,3,+,-11,*,/,*,17,+,5,+];
console.logexp.mapx=>isOperatorx?x+是运算符:x;使用正则表达式。与确定任何其他候选字符串的方法相同?也许是indexOf?为什么你不能做一些StringifiedOperator=='+'?你真正想要的是什么?检查运算符只是一项更大任务的一部分,而这项任务很有意思。@grigio每当你问关于堆栈溢出的问题时,你都应该描述代码将在其中工作的上下文。这使得给出适当的答案变得容易得多。