(JavaScript)在不使用eval()的情况下,编写一个函数来确定作为字符串写入的两个数字之间的关系是否为真

(JavaScript)在不使用eval()的情况下,编写一个函数来确定作为字符串写入的两个数字之间的关系是否为真,javascript,Javascript,示例: isTrue(“2=2”)➞ 真的 伊斯特鲁(“84”)➞ 真的 这是我到目前为止所拥有的--- 让test1='2=2'; 设test2='84'; 函数isTrue(关系){ 让我们分开=[]; 设num1=0; 设num2=0; 设newArray=[]; 设a=0; 设b=0; if(关系包含('=')){ 分离=关系分割('='); num1=parseInt(单独的[0]); num2=parseInt(单独[1]); newArray=[num1,num2]; }else

示例:

isTrue(“2=2”)➞ 真的

伊斯特鲁(“84”)➞ 真的

这是我到目前为止所拥有的---

让test1='2=2';
设test2='84';
函数isTrue(关系){
让我们分开=[];
设num1=0;
设num2=0;
设newArray=[];
设a=0;
设b=0;
if(关系包含('=')){
分离=关系分割('=');
num1=parseInt(单独的[0]);
num2=parseInt(单独[1]);
newArray=[num1,num2];
}else if(关系包括(“”);
num1=parseInt(单独的[0]);
num2=parseInt(单独[1]);
newArray=[num1,num2];
}否则{
return“这不是有效的比较,请重试”;
}
if(关系包含('=')){
a=新数组[0];
b=新数组[1];
如果((a=b)==true){
返回true;
}否则{
返回false;
}
}else if(关系包括(“”)){
a=新数组[0];
b=新数组[1];
如果((a>b)==true){
返回true;
}否则{
返回false;
}
}否则{
return“这不是有效的比较,请重试”;
}
}
console.log(isTrue(test1));
console.log(isTrue(test2));
console.log(isTrue(test3));

log(isTrue(test4));
您可以为操作符获取表达式的部分和对象

用数值返回调用运算符函数的结果

函数isTrue(表达式){
常数
运算符={
“=”:(a,b)=>a==b,
“(a,b)=>a>b
},
[,a,运算符,b]=表达式.匹配(/^(\d+)(\d+)(\d+)$/);
返回运算符[运算符]?.(+a,+b)| | false;
}
console.log(isTrue(“2=2”);//true
console.log(isTrue(“84”);//true

log(isTrue(“15#4”);//false
您可以为操作符获取表达式的部分和对象

用数值返回调用运算符函数的结果

函数isTrue(表达式){
常数
运算符={
“=”:(a,b)=>a==b,
“(a,b)=>a>b
},
[,a,运算符,b]=表达式.匹配(/^(\d+)(\d+)(\d+)$/);
返回运算符[运算符]?.(+a,+b)| | false;
}
console.log(isTrue(“2=2”);//true
console.log(isTrue(“84”);//true

console.log(isTrue(“15#4”);//false
a=b
是赋值,而不是比较,所以当你写
(a=b)==true
时,这很奇怪,
(a==b)=true
会更好。但是知道这是函数的一种形式,我更喜欢:
函数为真(关系){
让我们分开=[];
设num1=0;
设num2=0;
设newArray=[];
设a=0;
设b=0;
if(关系包含('=')){
分离=关系分割('=');
}else if(关系包括(“”);
}否则{
return“这不是有效的比较,请重试”;
}
num1=parseInt(单独的[0]);
num2=parseInt(单独[1]);
newArray=[num1,num2];
a=新数组[0];
b=新数组[1];
if(关系包含('=')){
返回a==b;

}否则,如果(relation.includes('
a=b
是赋值,而不是比较,那么当你写
(a=b)==true
时,这很奇怪,
(a==b)==true
会更好,我的意思是。但是知道这是函数的一种形式,我更喜欢:
函数为真(关系){
让我们分开=[];
设num1=0;
设num2=0;
设newArray=[];
设a=0;
设b=0;
if(关系包含('=')){
分离=关系分割('=');
}else if(关系包括(“”);
}否则{
return“这不是有效的比较,请重试”;
}
num1=parseInt(单独的[0]);
num2=parseInt(单独[1]);
newArray=[num1,num2];
a=新数组[0];
b=新数组[1];
if(关系包含('=')){
返回a==b;

}else if(relation.includes('Ok all)我休息了一会,然后又回来了。我看到了错误。代码现在正在运行,请参见以下内容:

let test1 = '2=2'; 
let test2 = '8<7'; 
let test3 = '5=13';
let test4 = '15>4'; 

function isTrue(relation) {
    let separate = []; 
    let num1 = 0;
    let num2 = 0;
    let newArray = []; 
    let a = 0;
    let b = 0; 
    if (relation.includes('=')) { 
        separate = relation.split('='); 
        num1 = parseInt(separate[0]);
        num2 = parseInt(separate[1]); 
        newArray = [num1, num2]; 
        a = newArray[0];
        b = newArray[1]; 
        if (a === b) {
            return true; 
        } else {
            return false;
        }
    } else if (relation.includes('<')) {
        separate = relation.split('<'); 
        num1 = parseInt(separate[0]);
        num2 = parseInt(separate[1]); 
        newArray = [num1, num2]; 
        a = newArray[0];
        b = newArray[1]; 
        if (a < b) {
            return true; 
        } else {
            return false;
        }
    } else if (relation.includes('>')) {
        separate = relation.split('>'); 
        num1 = parseInt(separate[0]);
        num2 = parseInt(separate[1]); 
        newArray = [num1, num2]; 
        a = newArray[0];
        b = newArray[1]; 
        if (a > b) {
            return true; 
        } else {
            return false;
        }
    } else {
        return 'This is not a valid comparison. Please try again.'; 
    }
}

isTrue(test1);
isTrue(test2);
isTrue(test3);
isTrue(test4);
让test1='2=2';
设test2='84';
函数isTrue(关系){
让我们分开=[];
设num1=0;
设num2=0;
设newArray=[];
设a=0;
设b=0;
if(relation.includes('='){
分离=关系分割('=');
num1=parseInt(单独的[0]);
num2=parseInt(单独[1]);
newArray=[num1,num2];
a=新数组[0];
b=新数组[1];
如果(a==b){
返回true;
}否则{
返回false;
}
}else if(关系包括(“”);
num1=parseInt(单独的[0]);
num2=parseInt(单独[1]);
newArray=[num1,num2];
a=新数组[0];
b=新数组[1];
如果(a>b){
返回true;
}否则{
返回false;
}
}否则{
return“这不是有效的比较,请重试”;
}
}
isTrue(test1);
isTrue(test2);
isTrue(test3);
isTrue(test4);

好的,我休息了一会儿,然后又回来了。看到了我的错误。代码正在运行,请参见以下内容:

let test1 = '2=2'; 
let test2 = '8<7'; 
let test3 = '5=13';
let test4 = '15>4'; 

function isTrue(relation) {
    let separate = []; 
    let num1 = 0;
    let num2 = 0;
    let newArray = []; 
    let a = 0;
    let b = 0; 
    if (relation.includes('=')) { 
        separate = relation.split('='); 
        num1 = parseInt(separate[0]);
        num2 = parseInt(separate[1]); 
        newArray = [num1, num2]; 
        a = newArray[0];
        b = newArray[1]; 
        if (a === b) {
            return true; 
        } else {
            return false;
        }
    } else if (relation.includes('<')) {
        separate = relation.split('<'); 
        num1 = parseInt(separate[0]);
        num2 = parseInt(separate[1]); 
        newArray = [num1, num2]; 
        a = newArray[0];
        b = newArray[1]; 
        if (a < b) {
            return true; 
        } else {
            return false;
        }
    } else if (relation.includes('>')) {
        separate = relation.split('>'); 
        num1 = parseInt(separate[0]);
        num2 = parseInt(separate[1]); 
        newArray = [num1, num2]; 
        a = newArray[0];
        b = newArray[1]; 
        if (a > b) {
            return true; 
        } else {
            return false;
        }
    } else {
        return 'This is not a valid comparison. Please try again.'; 
    }
}

isTrue(test1);
isTrue(test2);
isTrue(test3);
isTrue(test4);
让test1='2=2';
设test2='84';
函数isTrue(关系){
让我们分开=[];
设num1=0;
设num2=0;
设newArray=[];
设a=0;
设b=0;
if(relation.includes('='){
分离=关系。分割('='))