在Javascript中,有没有办法实现类似的目的?
const databaseObjectID = "someId"; // like "product/217637"
switch(databaseObjectID) {
case includes('product'): actionOnProduct(databaseObjectID); break;
case includes('user'): actionOnUser(databaseObjectID); break;
// .. a long list of different object types
}
这是一个更好奇的问题,以了解切换/大小写的可能性,因为在这种特殊情况下,我已经使用
const type = databaseObjectID.split('/')[0];
解决了我的问题,并将切换大小写应用于type
最佳答案
您的使用将被视为滥用情况。
而是只使用ifs
if (databaseObjectId.includes('product')) actionOnProduct(databaseObjectID);
else if (databaseObjectId.includes('user')) actionOnUser(databaseObjectID);
// .. a long list of different object types
如果ObjectId包含产品或用户周围的静态内容,则可以将其删除并将用户或产品用作 key :
var actions = {
"product":actionOnProduct,
"user" :actionOnUser
}
actions[databaseObjectId.replace(/..../,"")](databaseObjectId);
关于javascript - 在切换Javascript情况下使用字符串 "includes()",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43423458/