Javascript 如何在switch语句中放入计算函数?

Javascript 如何在switch语句中放入计算函数?,javascript,if-statement,switch-statement,Javascript,If Statement,Switch Statement,有谁能帮我把下面的if-else放到switch语句中吗 var computed ={ idOnly : function () {}, classOnly : function () {}, selectAllElements: function () {}, eitherOne : function () {} } // From here i need to put in Switch if (computed.idOnly(selector)) { var getById =

有谁能帮我把下面的if-else放到switch语句中吗

var computed ={
idOnly : function () {},
classOnly : function () {},
selectAllElements: function () {},
eitherOne : function () {}
}

// From here i need to put in Switch
if (computed.idOnly(selector)) {
    var getById = document.getElementById(selectorArray[1]);
    Allelements.push(getById);
} else if (computed.classOnly(selector)) {
    var getByClass = document.getElementsByClassName(selectorArray[1]);

    computed.selectAllElements(getByClass, Allelements);
} else {
    var getByTags = document.getElementsByTagName(selectorArray[0]);

    if (selectorArray.length === 1) {
        computed.selectAllElements(getByTags, Allelements);
    } else if (selectorArray.length === 2) {
        computed.eitherOne(
            byId,
            byClass,
            byTag,
            false,
            Allelements
        );
    } else if (selectorArray.length === 3) {
        computed.eitherOne(
            byId,
            byClass,
            byTag,
            true,
            Allelements
        );
    }
}

我只需要把它放在Switch语句中,我真的很感激,因为我不知道怎么做?

完全没有条件分支:

computed.eitherOne(
   ...( selectorArray.length === 1 ? [getByTags] : [byId, byClass, byTag, selectorArray.length === 3] ),
   Allelements
);
或者,如果您真的想要切换:

switch(selectorArray.length){
 case 1:
  computed.eitherOne(getByTags, Allelements);
 break;
 case 2:
   computed.eitherOne(byId, byClass, byTag, false);
 break;
 case 3:
   computed.eitherOne(byId, byClass, byTag, true);
 break;
}

你能帮我把这句话放进switch语句里吗?这没什么大不了的,只是试着理解一些我已经坚持了很长一段时间的概念,是否可能?但它说selectorArray.length未定义?这解决了从
getByTags
开始的第二个if-else问题,但解决了第一个if-else语句,如果您能帮我解决第一个问题,我将非常感谢?