js运算符转换问题?

作者站长头像
站长
· 阅读数 18

js运算符转换问题?

字符串的运算符号怎么转换成js的表达式

 let obj={
     minRange:'≤', //含量范围最小(%)
     minValue:'0.2', //含量范围最小(%)
     maxRange:'≥',//含量范围最大(%)
     maxValue:'0.5',//含量范围最大(%)
     value:90,//取值大小
     elementValue:'0.3',//检查结果 
     result:''//计算后的结果
  }

 //如何转成js表达式

let {minRange,minValue,maxRange,maxValue,value,elementValue} =obj;
 if(elementValue >= minValue && elementValue <= maxValue){
   obj.result=value
 }
回复
1个回答
avatar
test
2024-06-29

特殊字符替换,然后求和,就以问题中的代码为例吧,将≤替换为<=,将≥替换为>=。然后使用eval()函数将字符串作为JavaScript代码求值。

answer image

图片函数解释描述链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refer...

所以依葫芦画瓢:

let obj = {
  minRange: '&le;', //含量范围最小(%)
  minValue: '0.2', //含量范围最小(%)
  maxRange: '&ge;', //含量范围最大(%)
  maxValue: '0.5', //含量范围最大(%)
  value: 90, //取值大小
  elementValue: '0.3', //检查结果 
  result: '' //计算后的结果
}

// 替换特殊字符为对应的JavaScript运算符
let {minRange, minValue, maxRange, maxValue, value, elementValue} = obj;
minRange = minRange.replace('&le;', '<=');
maxRange = maxRange.replace('&ge;', '>=');

// 使用eval()求值
if(eval(`${elementValue} ${minRange} ${minValue} && ${elementValue} ${maxRange} ${maxValue}`)){
  obj.result = value;
}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容