Javascript 了解find()方法

Javascript 了解find()方法,javascript,Javascript,我想知道,如果我这样写,为什么arry.find()会起作用: const tour = tours.find(el => el.id === id); 但如果我这样编写箭头函数,则不会: const tour = tours.find((el) => {el.id === id}); 有人能解释一下吗?在这两种情况下,我都给出一个函数作为参数。第一个函数是一条短线路,用于: const tour = tours.find(el => { return el.id ===

我想知道,如果我这样写,为什么arry.find()会起作用:

const tour = tours.find(el => el.id === id);
但如果我这样编写箭头函数,则不会:

const tour = tours.find((el) => {el.id === id});

有人能解释一下吗?在这两种情况下,我都给出一个函数作为参数。

第一个函数是一条短线路,用于:

const tour = tours.find(el => { return el.id === id });

在第二种情况下,您需要添加
返回值
,否则您将返回未定义的值,并且过滤器只能使用truethy返回值。

因为,您需要在回调函数中返回
true
false
。这就是您的代码应该如何运行(在第二种情况下,当您使用代码块时):


但是,箭头函数有一个速记,如果它是单行语句,则不需要使用代码块,并且它自动返回语句的结果,因此不需要显式使用
return
返回条件语句的结果。

,因为使用
{}时没有返回
const tour = tours.find((el) => {return el.id === id});