求该段js代码简化版

小白刚学,请教如何简化以下js代码?`

    var result1=zb1;
    if (result1>0) {
        $('.question1').addClass("red");
    }
    else if (result1<0) {
        $('.question1').addClass("green");
    }
    else if (result1==0) {
        $('.question1').addClass("gray");
    }

    var result2=zb2;
    if (result2>0) {
        $('.question2').addClass("red");
    }
    else if (result2<0) {
        $('.question2').addClass("green");
    }
    else if (result2==0) {
        $('.question2').addClass("gray");
    }
    
    var result3=zb3;
    if (result3>0) {
        $('.question3').addClass("red");
    }
    else if (result3<0) {
        $('.question3').addClass("green");
    }
    else if (result3==0) {
        $('.question3').addClass("gray");
    }

`

阅读 1.7k
2 个回答
function getClass(res) {
  return res > 0 ? 'red' : res < 0 ? 'green' : 'gray';
}

$('.question1').addClass(getClass(zb1));
$('.question2').addClass(getClass(zb2));
$('.question3').addClass(getClass(zb3));

这是一个很典型的 map 了:

const array1 = [zb1, zb2, zb3]
const map1 = array1.map(x => {
    if (x > 0) {
        return "red"
    } else if (x < 0) {
        return "green"
    } else {
        return "gray"
    }
})
$('.question1').addClass(map1[0])
$('.question2').addClass(map1[1])
$('.question3').addClass(map1[2])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题