Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 - Fatal编程技术网

Javascript 查找数组中的下一个元素,如果最新的元素优先

Javascript 查找数组中的下一个元素,如果最新的元素优先,javascript,arrays,Javascript,Arrays,如何获取数组中的下一个元素,但如果是最新的,则转到数组中的第一个可用元素 [1,2,3,4,5].find(3) => 4 [1,2,3,4,5].find(5) => 1 [1,2,4,5].find(3) => 4 [1,2,4,5].find(0) => 1 只要一个简单的循环就足够简单了: console.log('[1,2,3,4,5].find(3)=>',findNumber([1,2,3,4,5],3)); log('[1,2,3,4,5].f

如何获取数组中的下一个元素,但如果是最新的,则转到数组中的第一个可用元素

[1,2,3,4,5].find(3) => 4
[1,2,3,4,5].find(5) => 1
  [1,2,4,5].find(3) => 4
  [1,2,4,5].find(0) => 1

只要一个简单的循环就足够简单了:

console.log('[1,2,3,4,5].find(3)=>',findNumber([1,2,3,4,5],3));
log('[1,2,3,4,5].find(5)=>',findNumber([1,2,3,4,5],5));
log('[1,2,4,5].find(3)=>',findNumber([1,2,4,5],3));
log('[1,2,4,5].find(0)=>',findNumber([1,2,4,5],0));
函数findNumber(数组,numberToFind){
for(变量i=0;i numberToFind){
返回数组[i];
}
}
返回数组[0]

}
您可以创建一个函数,首先检查数字是否在数组中,如果在数组中,则返回下一个元素,否则使用
while
循环增加到下一个数字并返回它

函数findNumber(ar,num){
var i=ar.indexOf(num);
如果(i!=-1){
返回值(i!=ar.length-1)?ar[i+1]:ar[0];
}否则{
while(true){
如果(num>Math.max.apply(null,ar)| numlog(findNumber([1,2,5,0])
似乎非常基本。您尝试了什么?第三个示例不是
find3=>5
?@greenbandit那么为什么第三个示例返回3?你是在推断那里应该有一个吗?如果你的数组不是那样线性的呢?那么如果数组是[1,5,4,2],它会返回什么?@greenbandit我认为你需要更好地澄清这个问题的条件。