If / Else语句大括号

新鲁道夫

我试图用两个参数创建一个函数,一个用于数组(ary),第二个用于在数组内搜索的名称。

但是,我不明白为什么第一个代码不起作用而第二个代码却不起作用。

有人可以解释一下吗?

// wrong code
var fruit = ['banana', 'apple', 'cherry', 'watermelon'];
var food = ['pizza', 'rice', 'cheese', 'potato'];
var search = function(ary, name) {
    for (var i = 0; i < ary.length; i++) {
        if (name == ary[i]) {
            return name + " was found!";
        } else {
            return name + " was not found";
        }
    }
};
search(food, 'potato');
//"potato was not found"


// right code
var fruit = ['banana', 'apple', 'cherry', 'watermelon'];
var food = ['pizza', 'rice', 'cheese', 'potato'];
var search = function(ary, name) {
    for (var i = 0; i < ary.length; i++)
        if (name == ary[i]) 
            return name + " was found!";
    return name + " was not found";
};

search(food, 'potato');
//"potato was found!"

谢谢!

易卜拉欣·马尔里尔
for (var i = 0; i < ary.length; i++)
    if (name == ary[i]) 
        return name + " was found!";
return name + " was not found";

是相同的:

for (var i = 0; i < ary.length; i++) {
    if (name == ary[i]) {
        return name + " was found!";
    }
}
return name + " was not found";

false遍历数组中的所有项目后返回在您提供的错误代码中,它仅检查第一项是否等于,name因为在循环内,无论是否找到name它,您都将返回(因此,如果第一项等于它,则将返回true;如果未找到,则将返回false)因此,1将不会检查来自索引的项目,因为该函数已经返回。


注意:您可以在JS中使用默认的搜索功能indexOf

var search = function(ary, name) {
    if(ary.indexOf(name) != -1) // index is -1 (not valid) then it's not found
        return name + " was found";
    else
        return name + " was not found";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

if/else 语句中的大括号问题

来自分类Dev

“使用”语句与大括号

来自分类Dev

else if & 大括号

来自分类Dev

Scala的非大括号IF语句

来自分类Dev

用大括号终止语句

来自分类Dev

Scala的非大括号IF语句

来自分类Dev

if / else语句中的大括号会影响堆栈上的内存吗?

来自分类Dev

大括号下的语句是否首先加载?

来自分类Dev

在if语句中,大括号是否可用?

来自分类Dev

大括号下的语句是否首先加载?

来自分类Dev

删除非大括号 if 语句的 Eclipse 缩进

来自分类Dev

if-else块中的大括号

来自分类Dev

大括号中的return语句应调用什么构造函数?

来自分类Dev

在if语句旁边重新整理移动大括号。如何换行?

来自分类Dev

if-else if-else语句和括号

来自分类Dev

linux大括号而不是if-then-else-fi do-done

来自分类Dev

查找所有if else和else if语句,不带括号

来自分类常见问题

C ++ {* this}大括号内

来自分类Dev

大括号的全局顺序?

来自分类Dev

大括号PHP的问题

来自分类Dev

闭合,带大括号

来自分类Dev

大括号的Javascript使用

来自分类Dev

如何过滤大括号

来自分类Dev

Netbeans大括号格式

来自分类Dev

jQuery 中的大括号

来自分类Dev

如果语句等可以用clang格式在一行中添加大括号

来自分类Dev

在没有大括号的单语句块之前制作clang格式的换行符

来自分类Dev

为什么预处理器需要大括号才能有语句?

来自分类Dev

如何让 clang 格式的 Visual Studio 2015 扩展不将大括号放在与 if 语句相同的行上