如果我在每个块内的条件内编写一个return语句,那么它会退出函数中的every和return吗?或者它只是像arrry.map数组中的return一样。
export default class App extends Component {
state = {
list: [1, 2, 3, 4, 5]
};
static getFirstNumberWhichis5(list) {
list.every((val) => {
if (val === 5) {
return 5;
}
});
return 7;
}
componentDidMount() {
console.log(App.getFirstNumberWhichis5(this.state.list));
}
render() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
</div>
);
}
}
我创建了一个代码示例,发现它永远不会从函数中返回,但返回的内容是什么。
上述实施是否有任何例外?
.every
将在回调返回falsey
值时立即终止,或者在您的情况下,如果根本没有调用return
,则在val === 5
测试失败时会终止。
由于您随后没有测试调用.every
的(布尔(结果,因此getFirstNumberWhichis5
函数将始终返回7。