【问题标题】:How to find a first occurrence of double digit number如何找到第一次出现的两位数
【发布时间】:2019-01-05 14:24:13
【问题描述】:

所以,我通过提示将元素推入数组,直到得到 0。之后,我试图找到第一个两位数。例如,如果数组是[2,3,55,0],我的程序应该返回 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();

【问题讨论】:

  • 转成字符串试试length property==2
  • 到底是什么问题? 任何事情会发生吗?错误?出乎意料的结果?
  • @eugensunic 或检查号码是否为&gt;= 10&lt;= 99
  • @Pointy 当然...
  • this response。这个问题基本上在这里得到了回答。只需排除 findIndex 函数即可。

标签: javascript math digits


【解决方案1】:

请使用内置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)

【讨论】:

    【解决方案2】:

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

    我省略了数组填充部分。

    如果您只需要检查每个数字,并且如果第一个数字符合条件,那么您为什么要进行任何类型的除法,那么您已经获得了两位数的数字,因此使用 break 或退出循环返回关键字。

    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 }

    【讨论】:

      【解决方案3】:

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

      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");

      【讨论】:

      • 这里的问题是大学入学科目或高中问题,因此我认为从她的角度来看,这个解决方案并不方便......但是嘿+1我喜欢它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      • 2011-04-10
      • 2019-11-24
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多