对于数组 B 中的每个值,想要在 A 中找到连续的值

for every value in array B, want to find the consecutive values in A

我正在尝试编写一个小的 JS 程序。对于数组 B 中的每个值,我想在 A 中找到总和为 B 的那个值的连续值。

我正在尝试打印数组 A 中的元素,使其与数组 B 中的连续总和相匹配。

我在 this JSFiddle page 上写了代码,但我不确定 B 是否包含 N 个元素...

能告诉我jQuery怎么写吗?输出它应该是 myArray 中的元素,以便它与 myOtherArray 中的连续总和相匹配 如果包含 N 个元素,myArray[0] + myArray1 将不起作用。

var myArray = [ 2, 3, 4 ];

var myOtherArray = [ 5, 6, 7 ];

for ( var i = 0; i < myOtherArray.length; i++ ) {


    for ( var j = 0; j < myArray.length; j++ ) {


          if ( myOtherArray[i] == myArray[0] +myArray[1] ) {
             console.log (myArray[ i ]);
          }

          else if(myOtherArray[i] == myArray[1] +myArray[2]) {
              console.log (myArray[ i ]);
          }

        else{
            console.log ("no matching");
        }

    }

}

由于标准定义不明确,我相信这可能与您正在寻找的内容相似

var sum = 0;

for (var j = 0; j < myArray.length; j++) {
    sum += myArray[j];
    var isMatch = myOtherArray.indexOf(sum) > -1,
        matchText = isMatch ? ' true' : ' false';
    $('body').append('Match for ' + sum + ' is' + matchText + '<br>')
}

它将数组中的所有元素相加到当前索引,并检查该值是否存在于其他数组中

DEMO

我回答这个问题是在赌一把..但我假设你想继续在你的数组中添加两个彼此相邻的索引,看看它们是否等于中的任何值你的第二个数组?

另外,我不知道你为什么要使用嵌套循环。只需要遍历一个数组,不需要遍历两个

var myArray = [ 2, 3, 4 ];
var myOtherArray = [ 5, 6, 7 ];
var sum = 0;

for ( var i = 0; i < myArray.length-1; i++ ) {
    sum = myArray[i] +myArray[i+1];
    if (myOtherArray.indexOf[sum] != -1 ) {
        console.log ("matching");
    }
    else {
         console.log ("no matching");
    }
}

结果应该吐"matching"两次

因为2+3 = 5,存在于第二个数组中。而3+4 = 7,也存在于第二个数组中。

回答我是如何理解这个问题的:http://jsfiddle.net/qqqs8aLc/1/

var A = [ 5, 6, 7 ];
var B = [ 2, 3, 4 ];

var Alen = A.length;
var Blen = B.length;

for(var i=0; i < Alen; i++){

     for(var j=0; j < Blen; j++){

        if(A[i] == (B[j] + B[j+1])){
            console.log("%d = (%d, %d)",A[i], B[j], B[j+1]);
        }
    }
}