一次移动到下一个迭代



我有一个名为current的变量,它存储数字0和长度为4的数组。我想迭代数组,然后一次一个地将其添加到当前变量中。如果第一个变量没有将move传递到下一个变量,我该如何实现这一点?请帮助!!!例如:

/*2 0
7 0
11 0
15 0*/
if not try the next one:
/*2 1
7 1
11 1
15 1*/
so on and so forth
let nums = [2,7,11,15]
let target = 18
let current = 0
nums.forEach(function(k,i){
let begin = current
if(nums[begin]+nums[i] === target){
console.log(true)
}else{
begin++
}
console.log(nums[begin],nums[i])
})

let nums    = [2,7,11,15]
, target  = 18
, flag=0
, i, j
;
for( i=0; i<nums.length-1; i++) {
for( j=i+1; j<nums.length; j++) {
if((nums[i]+nums[j])===target) {
flag=1;
break;
}
}
if(flag) break;
}
console.log(nums[i],nums[j]);

那个?

let nums    = [2,7,11,15]
, target  = 18
, i, j, found = false
;
for(i=0; i<nums.length-1; i++) {
for( j=i+1; j<nums.length; j++) {
found = (nums[i]+nums[j])===target 
if (found) break;
}
if (found) break;
}
if (found) console.log('values = ', nums[i],'+', nums[j], '=', target )
else       console.log('none' )

你也可以这样做:

let nums    = [2,7,11,15]
, target  = 18
, i=0, j=1, sum = nums[i] + nums[j]
;
while (sum != target)
{
if (++j===nums.length )
if (++i===(nums.length-1)) break
else j=i+1
sum = nums[i] + nums[j]
}
if (sum===target) console.log('values = ', nums[i],'+', nums[j], '=', target )
else              console.log('none' )

最新更新