Как получить значение из switch case в javascript
у меня есть переключатель с несколькими случаями и получением результата ,как указано в приведенном ниже коде, есть ли более короткий путь или лучший способ для этого
Что я уже пробовал:
var selectedCase=false; var selectedItem=''; var item = ui.item; switch(item.type) { case 'brands': selectedCase=true; selectedItem= base_url+'brand/'+item.BrandUniqueName; searchHeader.saveResult(selectedItem); window.location.href = base_url+'brand/'+item.BrandUniqueName; break; case 'categories': selectedCase=true; selectedItem= base_url+'categories/'+item.CategoryUniquename; searchHeader.saveResult(selectedItem); window.location.href = base_url+'categories/'+item.CategoryUniquename; break; case "categoryBrand": selectedCase=true; selectedItem= base_url+'brand/'+item.BrandUniqueName+'?category='+item.CategoryUniquename; searchHeader.saveResult(selectedItem); window.location.href = base_url+'brand/'+item.BrandUniqueName+'?category='+item.CategoryUniquename; break; case 'offercategory': selectedCase=true; selectedItem= base_url+'offercategory/'+item.OfferCategory; searchHeader.saveResult(selectedItem); window.location.href = base_url+'offercategory/'+item.OfferCategory; break; case 'vendorOfferCategory': selectedCase=true; selectedItem=base_url+'offers/'+item.UniqueName+'?category='+item.OfferCategory; searchHeader.saveResult(selectedItem); window.location.href = base_url+'offers/'+item.UniqueName+'?category='+item.OfferCategory; break; case 'vendor': selectedCase=true; selectedItem= base_url+'offers/'+item.VendorUniqueName; searchHeader.saveResult(selectedItem); window.location.href = base_url+'offers/'+item.VendorUniqueName; break; case 'offers': selectedCase=true; selectedItem= base_url+'offers/'+item.UniqueName; searchHeader.saveResult(selectedItem); window.location.href = base_url+'offers/'+item.UniqueName; break; case 'vendorcategory': selectedCase=true; selectedItem= base_url+'topcategories/'+item.UniqueName; searchHeader.saveResult(selectedItem); window.location.href = base_url+'topcategories/'+item.UniqueName; break; case 'vendors': selectedCase=true; selectedItem= base_url+'offers/'+item.UniqueName; searchHeader.saveResult(selectedItem); window.location.href = base_url+'offers/'+item.UniqueName; break; case 'products': selectedCase=true; selectedItem= base_url+'products/'+item.InternalLink; searchHeader.saveResult(selectedItem); window.location.href = base_url+'products/'+item.InternalLink; break; case "Not Available": //$("#autocomplete").val(''); break; }
itsmypassion
вместо этого можно использовать массивы или объектные литералы
https://stackoverflow.com/questions/2307157/alternative-to-the-switch-statement
https://toddmotto.com/deprecating-the-switch-statement-for-object-literals/