[英]Can I write arrow function with if on a single line
例如,我有一个数组:
arr= ['notebook', 2, 'pens', 'bags', newElement]
我想在数组中查找并返回“笔”的索引,我该如何写:
let found = arr.find(item => arr.indexOf(item) if item =='pens')
return arr.indexOf(
arr.find(item => item =='pens')
);
你不能这样做,因为无论你写什么,find 都会检查回调的返回值是真还是假。 回调返回的内容在内部处理并返回里面的项目而不是回调 function。 IndexOf 基本上可以满足您的需求。
如果你真的想使用箭头 function,你可以这样做。
let found = arr.findIndex(item => item =="pens");
然而,这是不必要的。 您可以简单地使用indexOf
:
let found = arr.indexOf("pens");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.