Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查数字的最后一位_Javascript_Arrays_Numbers - Fatal编程技术网

Javascript 检查数字的最后一位

Javascript 检查数字的最后一位,javascript,arrays,numbers,Javascript,Arrays,Numbers,我用javascript做了一些基本的线性搜索练习(我已经编写了2个月左右),偶然发现了以下问题: 我从用户那里得到一个数组的输入,程序告诉我他们决定检索的数字在数组的哪个位置。我想做一些干净的事情,比如“我为您检索了数字69。它位于您创建的输入数组的第22位。” 所以我想检查数字的最后一位,并相应地用X1st、X2nd和x3d或Xth进行响应。 但我不知道如何检查所需数字的最后一位。我是否应该将其转换为字符串,然后使用.pop()函数进行检查 我只解释了30个输入。但我希望它的工作不依赖于一定

我用javascript做了一些基本的线性搜索练习(我已经编写了2个月左右),偶然发现了以下问题: 我从用户那里得到一个数组的输入,程序告诉我他们决定检索的数字在数组的哪个位置。我想做一些干净的事情,比如“
我为您检索了数字69。它位于您创建的输入数组的第22位。

所以我想检查数字的最后一位,并相应地用X1st、X2nd和x3d或Xth进行响应。 但我不知道如何检查所需数字的最后一位。我是否应该将其转换为字符串,然后使用.pop()函数进行检查

我只解释了30个输入。但我希望它的工作不依赖于一定数量的输入

let inputsArray = [];
let totalInputs;

do 
{
  totalInputs = Number(prompt("How many number do you want to input? (max. 30)"));
}
while(totalInputs >= 31 || totalInputs <= 0)

for(i = 0; i < totalInputs; i++) //Get the inputs from the user and add them into the inputsArray
{
  let input = Number(prompt("Type a number"));
  inputsArray.push(input);
}

let desiredNum = Number(prompt(`What number do you want to retrieve? (Select from ${inputsArray})`));
let validator = 0; 

  for(i = 0; i < inputsArray.length; i++) //Check on each index of the inputsArray for the number prompted
  {
    if(inputsArray[i] == desiredNum)
    {
      if (i + 1 == 1 || i + 1 == 21) //Tell the user which position in the array the prompted number was
      {
        alert(`I've retrieved the number ${desiredNum} for you. It was on the ${i+1}st position on the array of numbers you created.`);
        validator++;
      }
      else if (i + 1 == 2 || i + 1 == 22)
      {
        alert(`I've retrieved the number ${desiredNum} for you. It was on the ${i+1}nd position on the array of numbers you created.`);
        validator++;
      }
      else if (i + 1 == 3 || i + 1 == 23)
      {
        alert(`I've retrieved the number ${desiredNum} for you. It was on the ${i+1}rd position on the array of numbers you created.`);
        validator++;
      }
      else
      {
        alert(`I've retrieved the number ${desiredNum} for you. It was on the ${i+1}th position on the array of numbers you created.`);
        validator++;
      }
    }
  }
  
  if(validator != 1) //If the desiredNum is invalid
  {
    alert("The number you specified does not exist in the array.");
  }
let inputsArray=[];
让所有的输入;
做
{
totalInputs=数字(提示(“您要输入多少数字?(最多30)”);
}

虽然(totalInputs>=31 | | totalInputs是,但最简单的方法是转换为字符串:

  var str_number = number.toString(); //converts number to string
  var last_char = str_number.slice(-1); //gets last character
  var last_digit = +(last_char); //convert last character to number

是的,最简单的方法就是转换为字符串:

  var str_number = number.toString(); //converts number to string
  var last_char = str_number.slice(-1); //gets last character
  var last_digit = +(last_char); //convert last character to number

如果你尝试一个模运算符,比如

last_digit = number % 10;

如果你尝试一个模运算符,比如

last_digit = number % 10;

不需要转换为字符串。让我们用数字来说明我们要查找的内容。大小写可以是0、1、2或其他;计算此值时不需要使用+1

您可以在此处使用
%
(模)来检查最后一位数字是什么。确保它避免了带有额外条件的第12位边缘情况

这将允许发布单个响应,而不是查看多个案例

var desiredNum=20;
变量后缀=[“st”、“nd”、“rd”];
变量后缀=num=>(num<4 | | num>13)和&后缀[num%10]?后缀[num%10]:“th”;
对于(设i=0;i<56;i+=11)

console.log(`I已为您检索到数字${desiredNum}。它位于您创建的数字数组上的${(I+1)+后缀(I)}位置。`);
无需转换为字符串。让我们只处理我们正在寻找的数字。大小写为0、1、2或其他;您使用的+1对于计算这个数字是不必要的

您可以在此处使用
%
(模)来检查最后一位数字是什么。确保它避免了带有额外条件的第12位边缘情况

这将允许发布单个响应,而不是查看多个案例

var desiredNum=20;
变量后缀=[“st”、“nd”、“rd”];
变量后缀=num=>(num<4 | | num>13)和&后缀[num%10]?后缀[num%10]:“th”;
对于(设i=0;i<56;i+=11)

console.log(`I已为您检索到数字${desiredNum}。它位于您创建的数字数组的${(I+1)+后缀(I)}位置。`);
将数字转换为字符串,然后使用
string.indexOf()
找到所需数字的位置。将数字转换为字符串,然后使用
string.indexOf()
找到所需数字的位置。这比不必要的转换要好得多!这比不必要的转换要好得多!