当前位置: 首页 > 知识库问答 >
问题:

javascript - js运算符转换问题?

翁宏茂
2023-08-07

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

 let obj={     minRange:'&le;', //含量范围最小(%)     minValue:'0.2', //含量范围最小(%)     maxRange:'&ge;',//含量范围最大(%)     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 }

共有2个答案

叶坚
2023-08-07
function convertOperator(operator) {    switch (operator) {        case "&ge;":            return ">=";        case "&le;":            return "<=";        case "&ne;":            return "!==";        case "&and;":            return "&&";        case "&or;":            return "||";        // 添加其他字符串运算符的替代情况        default:            return operator;    }}let obj={    minRange:convertOperator('&le;'), //含量范围最小(%)    minValue:'0.2', //含量范围最小(%)    maxRange:convertOperator('&ge;'),//含量范围最大(%)    maxValue:'0.5',//含量范围最大(%)    value:90,//取值大小    elementValue:'0.3',//检查结果     result:''//计算后的结果 }let {minRange, minValue, maxRange, maxValue, value, elementValue} = obj;const expression = `${elementValue}${minRange}${minValue}&&${elementValue}${maxRange}${maxValue}`console.log(expression);if(eval(expression)){    console.log('结果错误')}else{    console.log('结果正确');}
曾晨
2023-08-07

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

图片.png

图片函数解释描述链接: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;}
 类似资料:
  • let arr=[ ]; 转换为 let newArr=[ ]

  • 下面的代码将泛型(POD)类型包装成(模板)类,并定义内部模板转换操作符,以便能够在兼容(但不同)类型之间进行隐式转换。我希望代码是相当自我解释的。在任何情况下,我都无法理解为什么将转换为另一个POD都能正常工作,但将(此处键入为)转换为)却失败得很 有什么想法吗?代码如下:

  • C++ 运算符 强制转换运算符是一种特殊的运算符,它把一种数据类型转换为另一种数据类型。强制转换运算符是一元运算符,它的优先级与其他一元运算符相同。 大多数的 C++ 编译器都支持大部分通用的强制转换运算符: (type) expression 其中,type 是转换后的数据类型。下面列出了 C++ 支持的其他几种强制转换运算符: const_cast<type> (expr): const

  • 问题内容: 如何将字符串转换成运算符plus?谢谢! 问题答案: 使用查找表:

  • 主要内容:算术运算符,赋值运算符,字符串运算符,自增、自减运算符,比较运算符,逻辑运算符,三元运算符,位运算符运算符是用来告诉 JavaScript 引擎执行某种操作的符号,例如加号(+)表示执行加法运算,减号(-)表示执行减法运算等,本节我们就来介绍一下 JavaScript 中不同的运算符。 算术运算符 算数运算符用来执行常见的数学运算,例如加法、减法、乘法、除法等,下表中列举了 JavaScript 中支持的算术运算符: 运算符 描述 示例 + 加法运算符 x + y 表示计算 x 加 y

  • 算术运算符以数值(字面量或变量)作为其操作数,并返回一个单个数值。标准算术运算符是加法(+),减法( - ),乘法(*)和除法(/)。—— MDN 算数运算符是用来做算数运算的,如 + 这个符号,就是用来做加法操作。 1. N元运算 N 代表一个数,如一元运算,二元运算。 N元运算 表示由N个值产生一个新的值的规则。 如 * 就是一个二元运算符,他由两个数相乘产生第三个数。 JavaScript