gpt4 book ai didi

javascript - 整数对语法

转载 作者:行者123 更新时间:2023-12-03 08:53:31 24 4
gpt4 key购买 nike

我正在为一对整数问题编写代码。我的逻辑没有问题,但是当调用包含函数时,它会终止我的循环。

function contains(val,pairs){
console.log(val + " " + pairs);
for(i=0 ; i < pairs.length; i ++){
if(pairs[i] === val){
return true;
}else if(pairs[i] > val){
//since its sorted... we havent found it if > val
return false;
}
}
return false;
}

function findSumPairs(intArr, sumTotal){
pairs = [];
sorted = intArr.sort();
for(i = 0 ; i < sorted.length; i++){
var c = (contains(sumTotal-sorted[i],sorted));
console.log(i);
//if(c === true){
// pairs.push(([i,sumTotal-sorted[i]]));
//}
}
return pairs;
}

console.log(findSumPairs([-1, 0, 1, 2], 3));

我现在的输出是:

4 -1,0,1,2
4
[]

但是如果我删除 contains 表达式函数调用,我可以让它正确循环这四个整数。辅助函数的返回是否会以任何方式终止循环?

谢谢

最佳答案

变量“i”是代码中的全局变量。在“i”前面添加关键字“var”。检查接下来的代码。

function contains(val,pairs) {
console.log(val + " " + pairs);
for (var i=0 ; i < pairs.length; i ++) {
if (pairs[i] === val){
return true;
} else if (pairs[i] > val) {
//since its sorted... we havent found it if > val
return false;
}
}
return false;
}

function findSumPairs(intArr, sumTotal) {
var pairs = [];
var sorted = intArr.sort();
for (var i = 0 ; i < sorted.length; i++) {
var c = (contains(sumTotal-sorted[i],sorted));
console.log(i);
//if(c === true){
// pairs.push(([i,sumTotal-sorted[i]]));
//}
}
return pairs;
}

console.log(findSumPairs([-1, 0, 1, 2], 3));

您可以在 this page 中找到有关 javascript 变量的信息.

关于javascript - 整数对语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32597953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com