Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 你能帮我理解密码吗?任务是找到第一个非连续数字_Javascript_Arrays_Numbers_Find_Simplification - Fatal编程技术网

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)