【发布时间】:2013-10-31 11:54:33
【问题描述】:
我有 2 个数字数组。我想遍历每个数组并找到每个数组中 1 个数字加起来特定数量 x 的次数。
如果特定数量x 与另一个集合数量n 一样多次,则该函数应打印“YES”。如果x 没有达到n 的设定数量,那么函数应该打印'NO'。
x、n 和两个数组的值都在字符串 input 中。这些值已被拆分为数组,如下面的代码所示。
我设置了 2 个 for 循环来遍历每个数组和一个 if 语句,用于检查 x 与 n 的条件。
我在这段代码中使用的数组应该打印出“是”的结果,但是每次我运行代码时都会得到“否”?我尝试修改代码,但没有任何效果。
知道这段代码在哪里出错以及如何解决问题吗?
谢谢:)
代码:
var input = '2\n3 10\n2 1 3\n7 8 9';
function processData(input) {
var inputArray = input.split('\n');
var n = inputArray[1][0];
var x = inputArray[1].split(' ')[1];
var arrayA = inputArray[2].split(' ');
var arrayB = inputArray[3].split(' ');
var total = 0;
for(var i = 0; i < arrayA.length; i++) {
for(var j = 0; j < arrayB.length; j++) {
if(arrayA[i] + arrayB[j] == x) {
total = total + 1;
} if (total == n) {
return 'YES';
}
}
}
return 'NO';
}
console.log(processData(input));
【问题讨论】:
标签: javascript arrays if-statement for-loop