Java脚本if / else和c ++ if / else之间是否有区别?

问题描述 投票:0回答:1

我想知道js中的if / else语句是否与c ++不同或相同。我在c ++中工作过,if / else条件以自动中断的方式工作,因为如果一个条件为真,则另一个条件不成立。工作,但是在js中,条件一遍又一遍地打印。即使找到了项目,else部分也会在下一次迭代中显示

var A = ["cake","apple pie","cookie","chips","patties"];
var search=prompt("Welcome to ABC Bakery.What do you want to order Sir/Ma'm");
var size=A.length;
for(var i=0;i<=size;i++)
{
    if(search===A[i])
    {
        alert(search+" is available at index "+(i+1)+" of our bakery");
        check=true;
        break;
    }
    else
    {
        alert("We are sorry "+search  +" is not available in our bakery");
    }
}
javascript arrays search break
1个回答
1
投票

C ++和JS在食物中的口味大相径庭,这就是为什么您在if / else语句中可能会感到奇怪的原因。我发现C ++倾向于坚持使用诸如面包,鸡蛋和牡蛎这样的主食,而js则更喜欢诸如杏仁黄油的奇特食品。

不过,就您的情况而言,我不认为食物与您所遇到的问题有关。 break关键字在两种语言中的功能相似。在不知道您要什么食物的情况下,我无法知道您所看到的与期望的食物,但是我的猜测是,当您输入A中存在但不是第一个食物的食物时(在这种情况下,您应该避免使用蛋糕,除非特殊情况,但我不是持牌营养师,因此请带一点盐食用),然后您会看到一些“我们很抱歉...”消息,随后是“ ...可用...”消息。这是因为您正在遍历A的元素,并且每次都触发else语句,直到if语句最终为真并触发了break

相反,您想要的是检查食物是否真的在商店中,并在这种情况下获取其索引。否则,我建议您向您的分销商下订单,因为这听起来像您的客户真的很喜欢它,并且您不希望动乱。我想我们所有人都从2020年4月的巨大卫生纸惨案中学到了这一点。作为美食家,这就是我要做的,而不是您的循环。

var index = A.indexOf(search);
if (index > -1) {
    alert(search+" is available at index "+(index+1)+" of our bakery");
    check=true;
}
else {
    alert("We are sorry "+search  +" is not available in our bakery");
}
© www.soinside.com 2019 - 2024. All rights reserved.