Javascript:我可以根据提示输入在数组中找到数字的索引吗

Javascript: Can I find the index of a number in an array based on a prompt input?

本文关键字:数字 索引 数组 我可以 输入 提示 Javascript      更新时间:2023-11-04

有没有一种方法可以使用提示中的输入作为数组的索引,然后创建一个没有这个数字的新数组?

到目前为止,我得到的指数是-1:

var remNum = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var input = prompt("pick a number" + " ");
var position = remNum.indexOf(input);
alert("this is the index of your input: " + position);

您需要将用户输入转换为数字,因为prompt()返回一个String。

var remNum = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var input = parseInt(prompt("pick a number" + " "), 10);
var position = remNum.indexOf(input);
alert("this is the index of your input: " + position);

请注意,对于调试代码,console.log()(作为浏览器附带的更大的开发工具套件的一部分)比alert()更有效。

var input = parseInt(prompt("pick a number" + " "), 10); //convert to int!
var newArray = [];
for (var i=0; i<remNum.length; i++) {
    if (i != input) newArray.push(remNum[i]);
}

这将在数组中循环,并推送所有没有提示索引的数字。它还将确保输入不会超出边界。

将输入转换为整数后:

var remNum = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var input = parseInt(prompt("pick a number" + " "));

您可以使用splice()删除元素:

var position = remNum.indexOf(input);
remNum.splice(position, 1);

错误检查留给读者练习。