为了账号安全,请及时绑定邮箱和手机立即绑定

一次移动到下一个迭代

一次移动到下一个迭代

心有法竹 2023-08-05 19:36:56
我有一个名为 current 的变量,它存储数字 0 和长度为 4 的数组,我想迭代该数组,然后将其一次添加到当前变量一个,如果第一个变量没有传递到下一个变量,我怎样才能实现这一点请帮忙 !!!例如:    /*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 forthlet nums = [2,7,11,15]let target = 18let current = 0nums.forEach(function(k,i){let begin = currentif(nums[begin]+nums[i] === target){  console.log(true)}else{begin++}console.log(nums[begin],nums[i])})
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

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]);


查看完整回答
反对 回复 2023-08-05
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

那 ?


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' )


查看完整回答
反对 回复 2023-08-05
  • 2 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信