如何找到第一次出现的两位数

How to find a first occurrence of double digit number

所以,我通过提示将元素推入数组,直到得到 0。之后我试图找到第一个两位数。例如,如果数组是 [2,3,55,0] 我的程序应该 return 55.

function findFirstDouble() {
 var niz = []
 var a = 1;
 for (var i = 1; a != 0; i++) {
  var unos = parseInt(prompt("Enter number :"))
  niz.push(unos)
  a = unos
 }
 alert(niz);
 for (var i = 0; i < niz.length; i++) {
  if (niz[i] / 10 > 0 && niz[i] / 100 == 0) {
   console.log(niz[i]); 
   break;
  }
  else {
   alert("No double digit numbers!")
   break;
  }
 }
}
findFirstDouble();

无需数学的简单方法就是将其转换为字符串。

const data = [2,3,55,0];

const res = data.findIndex(n=>`${n}`.length===2);

console.log(res > -1 ? "Exists at position " + res : "Doesn't exist");

数学上:

const data = [2,111,3,55,0];

const res = data.find(n=>n<100&&n>9);

console.log(res ? "Exists " + res : "Doesn't exist");

请使用内置 js 函数 findhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find

这是解决方案

// I assume that you already have an array   
const niz = [2,3,55,0]
const firstDoubleDigit = niz.find(num => num < 100 && num >= 10)
console.log(firstDoubleDigit)

这是我认为您正在寻找的答案。

我省略了数组填充部分。

如果您只需要检查每个数字并且如果第一个符合条件那么您就得到了两位数的数字,那么为什么要进行任何类型的除法因此退出循环 breakreturn 关键字。

var niz = [1, 2, 55, 13];
for (var i = 0; i < niz.length; i++) {
    if (niz[i] > 9 && niz[i] < 100) {
        console.log('Pronadeni broj je:', niz[i]);
        break;
    }
}

你也可以转换成字符串:if (niz[i].toString().length===2){ // your number }