JavaScript中如何实现数组添加元素时成功返回true失败返回false?
解决函数返回布尔值的问题
嘿,我明白你的需求啦——你希望getDog函数在成功把狗狗添加到数组时返回true,达到上限添加失败时返回false对吧?
先看你当前的代码:函数里只做了判断和push操作,但没有任何return语句,所以不管添加成功与否,函数默认都会返回undefined,这就是问题所在。
我们只需要在对应的分支里加上返回值就可以了,修改后的代码如下:
let adoptedDogs = []; const maxDogs = 2; function getDog( name ){ console.log( 'dog\'s name:', name ); if( adoptedDogs.length < maxDogs ){ adoptedDogs.push( name ); return true; // 添加成功,返回true } return false; // 没进入if分支,说明达到上限,返回false } // 测试一下 console.log(getDog( 'Spot' )); // 输出 true console.log(getDog( 'Daisy' )); // 输出 true console.log(getDog( 'Chester' )); // 输出 false
简单解释下逻辑:
- 当数组长度还没到
maxDogs的上限时,执行push操作后直接返回true,告诉调用者添加成功; - 如果数组已经满了,就会跳过if分支,直接执行最后的
return false,表示添加失败。
这样调用函数的时候,就能通过返回值判断这次添加操作的结果啦!
内容的提问来源于stack exchange,提问作者Kristen Hare
相关产品推荐
相关产品推荐

