Javascript 你能帮我理解密码吗?任务是找到第一个非连续数字
有没有人能帮我把上面的功能分解一下?Javascript 你能帮我理解密码吗?任务是找到第一个非连续数字,javascript,arrays,numbers,find,simplification,Javascript,Arrays,Numbers,Find,Simplification,有没有人能帮我把上面的功能分解一下? 我写了一个很长的代码来解决这个任务,有人给我发了一个更正,说我的代码可以简化 要分解它,我要做的第一件事是添加大括号并将其分解为多行: //此函数接受一个数组 常量firstnonsecutive=arr=>{ //并试图找到一个项目 返回arr.find((编号,索引)=>{ 返回索引>1&&//从索引2开始(忽略前2个) number!==arr[index-1]+1;//其中值不是(上一个值+1) }); } log(firstnonsecutive
我写了一个很长的代码来解决这个任务,有人给我发了一个更正,说我的代码可以简化 要分解它,我要做的第一件事是添加大括号并将其分解为多行:
//此函数接受一个数组
常量firstnonsecutive=arr=>{
//并试图找到一个项目
返回arr.find((编号,索引)=>{
返回索引>1&&//从索引2开始(忽略前2个)
number!==arr[index-1]+1;//其中值不是(上一个值+1)
});
}
log(firstnonsecutive([128,6,2,8]);//2 -> ??
log(firstnonsecutive([5,6,2,8]);//2->正确
log(firstnonsecutive([5,6,7,8]);//undefined->correct
我想我理解这一点,但我有几个问题1。我们正在创建一个名为“firstnonsecutive”的函数,参数为任意数组2。该函数使用find.array函数,它的作用是什么?它是否在数组中循环?这些属性是否在花括号参数中?1。对的2.我们传递给.find()
的唯一参数是一个函数(通常称为回调)。该函数将对数组中的每个项执行(直到它找到某些内容)。每次调用此回调时,都会使用两个参数:number
,它是当前项的值;index
,它是当前项在数组中的位置。在花括号内是函数体,每次都会为每个项执行函数体。注意:这个语法(x)=>{…}
相当于函数(x){…}
我在上面的回答中添加了第三个示例
const firstNonConsecutive = arr => arr.find((number, index) => index > 1 && number !== arr[index -1] + 1)