哈士奇WWW
2021-06-16 13:33:40
我正在尋找一些更好的方法來(lái)編寫這段代碼,因?yàn)樗雌饋?lái)非常難看。但我想它是正確的,但我只是想知道是否有更好的方法來(lái)寫這個(gè)?基本上,語(yǔ)句中的每個(gè)鍵都需要檢查與該鍵相關(guān)的事物。也許我應(yīng)該寫一些大的 if 語(yǔ)句?或者使用一些 JSON 對(duì)象并存儲(chǔ)密鑰名稱,以及支票內(nèi)的名稱名稱?希望能得到一些關(guān)于最好的方法的建議!并且代碼不是真正的代碼(現(xiàn)在沒(méi)有),它只是我快速編寫的內(nèi)容,以舉例說(shuō)明真實(shí)代碼的外觀。switch (key) {case 'cat': if (animals.check('kitty')) { delete animalsArray[index]; } break;case 'dog': if (animals.check('doggo')) { delete animalsArray[index]; } break;case 'hippo': if (animals.check('idk')) { delete animalsArray[index]; } break;case 'tiger': if (animals.check('somethingSpecificforTIGER')) { delete animalsArray[index]; } break;case 'toad': if (animals.check('idk')) { delete animalsArray[index]; } break;case 'horse':case 'zebra': if (animals.check('ass')) { delete animalsArray[index]; } break;default: break;}只需要改進(jìn)代碼:P
2 回答

達(dá)令說(shuō)
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用將鍵映射到animals.check參數(shù)的對(duì)象:
const mapping = {
cat: "kitty",
dog: "doggo",
...
};
if (mapping.hasOwnProperty(key) && animals.check(mapping[key])) {
delete animalsArray[index];
}

至尊寶的傳說(shuō)
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
我不確定我得到了你想要的東西,但你不能使用類似的東西:
var zoo = {
king : 'lion',
thief : 'snake'
}
var arr = ['lion', 'snake'];
delete arr[arr.indexOf(zoo.king)]
添加回答
舉報(bào)
0/150
提交
取消