gpt4 book ai didi

javascript - 从 Javascript 中的数组字符串中查找单个或多个值

转载 作者:行者123 更新时间:2023-11-30 12:14:43 24 4
gpt4 key购买 nike

我试图在我的数组中搜索我输入的任何数字,但它没有按预期工作。

在外部 javascript 中:

window.onload = startup;

function startup() {
runArraySequence () {
writeArray.onclick = findArray;
}
}
var array = [5,3,9,12,19,15,13,6,9,2,4,7,8,17];

function findArray () {
//The following script is a part of a 12 "else if" radio button form.
if (arrayRad11.checked) {
var searchNumber = document.getElementById("arrayValue").value;
var arrayResult = -1;
for (var i=0; i < array.length; i++) {
if (array[i] === searchNumber) {
i = arrayResult;
}
if (arrayResult < 0) {
msg6.innerHTML = "Found number " + searchNumber + ", " + arrayResult + " times.";
}
}
}
}

HTML代码:

<div>
<form>
<input type="radio" id="arrayRad11" name="array" value="11">Find Number:</input>
<input type="number" id="arrayValue" placeholder="Find Array Number"></input><br />
<input type="button" id="writeArray" value="Skriv tall"></input>
<input type="button" value="Reset" onClick="window.location.reload()"></input>
</form>
<p id="msg6"></p>
</div>

同时上传到jsfiddle

最佳答案

代码中似乎有几个逻辑问题,但很容易修复:

writeArray.onclick = findArray;

var array = [5, 3, 9, 12, 19, 15, 13, 6, 9, 2, 4, 7, 8, 17, 9];

function findArray() {
//The following script is a part of a 12 "else if" radio button form.
if (arrayRad11.checked) {
var searchNumber = document.getElementById("arrayValue").value;
var arrayResult = 0;
for (var i = 0; i < array.length; i++) {
if (array[i] == searchNumber) {
arrayResult++;
}
}
if (arrayResult > 0) {
msg6.innerHTML = "Found number " + searchNumber + ", " + arrayResult + " times.";
}
}
}
<div>
<form>
<input type="radio" id="arrayRad11" name="array" value="11">Find Number:</input>
<input type="number" id="arrayValue" placeholder="Find Array Number"></input>
<br />
<input type="button" id="writeArray" value="Skriv tall"></input>
<input type="button" value="Reset" onClick="window.location.reload()"></input>
</form>
<p id="msg6"></p>
</div>

  1. 我删除了您的 runArraySequence() 函数,因为您的 JS 中不存在该函数。它阻止了 onclick 的访问。

  2. 根据您的消息 msg6,您似乎是在查找数组中数字的频率。如果 == 语句为真,我将 arrayResult 值设置为从 0 开始并增加计数。确保您知道 == 和 === 之间的类型关联区别。

  3. 我将您的第三个 if 语句移到了 for 循环之外,这样消息结果只会出现一次。

希望这对您有所帮助!

关于javascript - 从 Javascript 中的数组字符串中查找单个或多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32722441/

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