Javascript 我想使用switch语句显示所选项目的价格值

Javascript 我想使用switch语句显示所选项目的价格值,javascript,Javascript,Switch语句和标记为Break的 AddEventTwinDow,‘加载’,初始化; 函数初始化 { //将事件添加到下拉列表中 addEventdocument.getElementById'chips','change',getPrice; } 功能名称,价格 { this.name=名称; 这个价格=价格; } var-ICs=新数组; ICs[0]=新产品Septium 900MHz,$149; ICs[1]=新产品Septium Pro 1.0GHz,$249; ICs[2]=新产

Switch语句和标记为Break的 AddEventTwinDow,‘加载’,初始化; 函数初始化 { //将事件添加到下拉列表中 addEventdocument.getElementById'chips','change',getPrice; } 功能名称,价格 { this.name=名称; 这个价格=价格; } var-ICs=新数组; ICs[0]=新产品Septium 900MHz,$149; ICs[1]=新产品Septium Pro 1.0GHz,$249; ICs[2]=新产品Octium BFD 750MHz,$329; var=新数组; 零食[0]=新产品雷氏薯片,1.79美元; 零食[1]=新产品奶酪小点心,1.59美元; 零食[2]=新产品玉米饼公寓,2.29美元; //在“表”中查找与产品相关的成本 函数getPrice { var chipName=this.options[this.selectedIndex].text; var chipType=this.options[this.selectedIndex].value; var outField=document.getElementById'cost'; 大师: 开关芯片 { 案例ICs: 对于变量i=0;i 炸薯条: 间隔900MHz Septium Pro 1.0GHz 八进制BFD 750MHz 薯片 奶酪 玉米饼公寓 扑克芯片组 价格:


开关坏了。应该是这样的:

        switch (chipType) {
            case "ICs":
                for (var i = 0; i < ICs.length; i++) {
                    if (ICs[i].name == chipName) {
                        outField.value = ICs[i].price;
                        break master;
                    }
                }
                break;
            case "snacks":
                for (var i = 0; i < snacks.length; i++) {
                    if (snacks[i].name == chipName) {
                        outField.value = snacks[i].price;
                        break master;
                    }
                }
            break;
            default:
                outField.value = "Not Found";
                break;
        }
这很有效

Switch语句和标记为Break的 window.onload=初始化; 函数初始化 { document.getElementById'chips'。添加了EventListener'change',getPrice; } 功能名称,价格 { this.name=名称; 这个价格=价格; }; var-ICs=新数组; ICs[0]=新产品Septium 900MHz,$149; ICs[1]=新产品Septium Pro 1.0GHz,$249; ICs[2]=新产品Octium BFD 750MHz,$329; var=新数组; 零食[0]=新产品雷氏薯片,1.79美元; 零食[1]=新产品奶酪小点心,1.59美元; 零食[2]=新产品玉米饼公寓,2.29美元; 函数getPrice { var selectelem=document.getElementByIdchips,outField=document.getElementById'cost',outvalue=;; var chipName=selectelem.options[selectelem.selectedIndex].text; var chipType=selectelem.value; 如果!芯片类型 { outField.value=;返回; } 开关芯片 { 案例ICs: var arr=ICs.filterfunctionitem{ return item.name==chipName; }; outvalue=arr[0]。价格; 打破 个案小吃: var arr=snakts.filterfunctionitem{ return item.name==chipName; }; outvalue=arr[0]。价格; 打破 默认值:outvalue=未找到;中断; } outField.value=outvalue; } Switch语句和标记为Break的 选择要在芯片价格表中查找的芯片:

炸薯条: 间隔900MHz Septium Pro 1.0GHz 八进制BFD 750MHz 薯片 奶酪 玉米饼公寓 传输控制协议 扑克芯片组 价格:


谢谢@vignesh,我没有得到outvalue=arr[0]的逻辑。price即arr[0]的适用性。filter返回一个匹配值数组。由于您具有唯一的值,因此过滤后的数组仅包含一个对象。所以使用arr[0]。非常感谢..@vignesh
        var chips = document.getElementById('chips');
        chips.addEventListener('change', getPrice);