【发布时间】:2015-08-25 06:36:27
【问题描述】:
考虑Arr1 = [4, 6, 3, 9, 11, 5]的输入
我想要一个将数组作为输入的函数。 对于数组中的每个元素,它应该在其右侧输出第一个较高的值。
示例输出:4 - 6; 6 - 9; 3 - 9; 9 - 11 , 11 - -1 , 5 - -1
要求:我想在不使用嵌套 for 循环的情况下实现这一点。
for (i = 0,k = Arr1.length;i< k;i ++){
var val = false;
for(j=i+1;j<k;j++){
while(Arr1[i] < Arr1[j] ){
console.log( Arr1[i] + " --" + Arr1[j]);
val = true;
break;
}
if(val){break;}
}
if( !val){
console.log( Arr1[i] + " --" +" -1");
}
}
【问题讨论】:
-
到目前为止你尝试过什么?你到底卡在哪里了?您能给我们展示一些可以使用的代码吗?
-
请添加更多代码,以便我们帮助您(并理解您)
-
@icke 希望我的问题现在可以理解了。
-
@AvinashK 很高兴您添加了代码,但您的问题仍然没有问题。你的代码不起作用吗?它不做它应该做的事吗?其结果与预期有何不同?等等等等。
-
您的
while循环非常没用。为什么不简单地使用if?嵌套的for循环可能也可以减少。
标签: javascript loops