我如何在 javascript(Reactjs) 中编写此条件

how I can write this condition in javascript(Reactjs)

我最近用 React 开始了一个计算器项目。 我创建了这个项目,它运行良好,但我只想向它添加一个新功能。 我想当我点击一个操作符号 (如“+”、“-”、“*”、“/”) 如果我再点击一次和之前存在的操作相同 (例如 1234+) 当我单击“+”或“-”时我的代码不会将其添加到代码中并将其替换为之前的操作并且也执行到“/”和“*”

我还附上了存储库link所以你可以自己看我的计算器源代码。 the repository of project source code

请像下面这样更新 handleClick 函数:

    const handleClick = (e) => {
        if(result.length && result.charAt(result.length-1) != e.target.name || result.length == 0)
        setResult(result.concat(e.target.name));   
}

在您的 handleClick 函数中,只需检查当前字符是否为运算符符号(例如:'+'、'-'、'*'、'/')以及当前 result 字符串也是一个操作符号。如果它们都是运算符符号,只需执行以下操作:

const handleClick = (e) => {
  if (result.length > 0 && (result[result.length - 1] === '+' || result[result.length - 1] === '-' || result[result.length - 1] === '*' || result[result.length - 1] === '/') && (e.target.name === '+' || e.target.name === '-' || e.target.name === '*' || e.target.name === '/')) {
    const newRes = result.slice(0, result.length - 1).concat(e.target.name);
    setResult(newRes);
  } else {
    setResult(result.concat(e.target.name));
  }
}