gpt4 book ai didi

javascript - 将数组中的值与 JavaScript 中的数字进行比较

转载 作者:行者123 更新时间:2023-11-28 20:18:47 25 4
gpt4 key购买 nike

我正在编写一个程序来确定一个数字是否位于数组中的两个值之间。

这是我正在使用的数组的示例。

var attackArray = new Array (2);
attackArray[0] = new Array("0","1","2","2","2","3","4");
attackArray[1] = new Array("2","3","2","3","2","3","4");

我使用以下代码将数字与数组中的前两个值进行比较。然后我循环遍历数组,直到找到满足要求的行。该数字必须 >= 第一个数字且 <= 第二个数字。

这是我正在使用的代码。

function leveltest ( number)
{
var attack = attackArray.length;


for ( var count = 0 ; count < attack; count ++)
{
if ((number >= Number(attackArray [count][0])) && (number <= Number(attackArray [count][1])))
{
do something ;
}
}

}

如果有人可以查看我的代码并解释我做错了什么。

最佳答案

我相信您正在尝试将一个数字与由在 AttackArray 的元素 0 和元素 1 中具有相同索引的项目值定义的每个数字范围进行比较。如果这是正确的,则以下内容适用。

您的代码片段中存在的问题是:

  1. 您的第 3 行索引错误。您的第三行 attackArray[2] = new Array("1","3","2","3","2","3","4");正在第一行创建的attackArray 中创建新的第三个元素。相反,我认为您想要填充 AttackArray 的第二个元素,它应该是 attackArray[1] = new Array("1","3","2","3","2","3","4");或者您可以使用不同的数组语法,如下所示。

  2. 在函数中,您使用了 AttackArray var attack = attackArray.length; 的长度,控制for循环跟随。相反,您会想要 var attack = attackArray[0].length;只要attackArray[0]attackArray[1]长度相同。你可以这样想,你沿着数组的错误维度得到了长度。您获得的长度是“向下”数组或对象列表,而不是“跨”数组的水平方向。

  3. 在函数中,您对如何循环数组感到困惑,并且您有这个 attackArray [count][0]attackArray [count][1]向后。相反,它们应该是 attackArray[0][count]attackArray[1][count] 。这将允许您正确地将您的数字与元素 0 中的每个项目以及元素 1 中相同索引的项目进行比较。

以下代码应该是一段简洁、正确的工作代码,可以实现您的目标。您可以将其插入 jsfiddle.net,它应该可以在 Chrome 中运行,并使用 Javascript 控制台来查看日志中的结果。这是:

var attackArray = [];
attackArray[0] = ["0","0","2","2","2","3","4"];
attackArray[1] = ["1","3","2","3","2","3","4"];

function leveltest (number){
var attack = attackArray[0].length;
for (var count = 0;count < attack;count ++){
if ((number >= Number(attackArray [0][count])) &&
(number <= Number(attackArray [1][count]))) {
console.log(number + " matches at index " + count);
}
}
}
leveltest(2);

关于javascript - 将数组中的值与 JavaScript 中的数字进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18730995/

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