gpt4 book ai didi

javascript - 测试数组中的数字

转载 作者:行者123 更新时间:2023-12-01 02:31:54 25 4
gpt4 key购买 nike

然而,.length 和数组的值是随机分配的。更具体地说,a()anArray.length随机分配为随机值1-3,并且其中的值也随机分配为值1-3。我编写了 numTester() 来在执行 a() 后测试 anArray 中的 2。

var anArray = [];
var numTester = function(aryParam, v) {

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

if (aryParam[i] == v) {

return true;

}

return false;

}

};
var a = function() {

b = 0;

c = setInterval(function() {

b++;
d = Math.floor(Math.random() * 3) + 1;
anArray.push(d);

if (b == d || b == 3) {

clearInterval(c);
document.write(anArray.join(", "), "<br />", numTester(anArray, 2));

}

}, 1);

};
a();

如果 2 是数组中 1、2 或 3 个数字中的任意一个,

numTester() 应该返回 true。问题是我发现如果数组的第一个数字是 2,它只会返回 true。这是为什么?

var anArray = [];
var numTester = function(aryParam, v) {

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

if(aryParam[i] == v) {

return true;

}

return false;

}

};
var a = function() {

b = 0;

c = setInterval(function() {

b++;
d = Math.floor(Math.random() * 3) + 1;
anArray.push(d);

if(b == d || b == 3) {

clearInterval(c);
document.write(anArray.join(", ") + "<br />", numTester(anArray, 2));

}

}, 1);

};
a();

最佳答案

您在 for 循环中返回 false,您的循环只会迭代一次,需要将其移到 for 循环之外。

var numTester = function(aryParam, v) {

var i;
for(i = 0; i < aryParam.length; i++) {
if(aryParam[i] == v) {
return true;
}

return false; <-- remove this
}
return false; <-- put it here
}

关于javascript - 测试数组中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48257026/

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