【问题标题】:Finding a digit with Javascript使用 Javascript 查找数字
【发布时间】:2017-07-13 11:17:42
【问题描述】:

我有一个 4 位数字。我怎样才能得到右边的第二个数字。

它按我的方式工作......但是有更好的吗?

function SecondNumberOnTheRight(number){
  var number;
   number = parseInt(number%100)/10;
   newNumber = parseInt(number);
   console.log(newNumber);
}

SecondNumberOnTheRight(1259);//5

【问题讨论】:

  • 你的方式是什么?
  • 我写的那个。 SecondNumberOnTheRight();

标签: javascript flowchart


【解决方案1】:

function SecondNumberOnTheRightY(number){
var t0 = performance.now();
  var number;
   number = parseInt(number%100)/10;
   newNumber = parseInt(number);
   var t1 = performance.now();
   console.log("Your took " + (t1 - t0) + " milliseconds.")
}
function SecondNumberOnTheRightM(number){
   var t0 = performance.now();
   var num = number.toString();
   var res = Number( num.charAt(num.length-2) );
   var t1 = performance.now();
   console.log("Mine took " + (t1 - t0) + " milliseconds.")
}
SecondNumberOnTheRightY(1588565);
SecondNumberOnTheRightM(1588565);

将 number 更改为 string ,然后使用 charAt 获取所需索引中的 char 。还可以检查性能。

【讨论】:

  • 我的错。性能不一样,感觉它不依赖于代码..:x
【解决方案2】:

可能的解决方案。

const SecondNumberOnTheRight = num => `${num % 100}`.slice(0, 1);
  
console.log(SecondNumberOnTheRight(1259));
console.log(SecondNumberOnTheRight(987654321));

【讨论】:

  • 这个方法比OP方法慢。
  • @Alexandru-IonutMihai 更慢?即使是这样,差异也很小,我们可以忽略它们。
【解决方案3】:

您可以将其转换为字符串并使用substr

var num = 1259;
function secondNumberOnTheRight(num) {
    return num.toString().substr(2,1);
}
console.log(secondNumberOnTheRight(num)); // '5'

如果您需要一个数字作为结果,请使用parseInt(num, 10)

【讨论】:

    【解决方案4】:

    你的方法是最简单的,但你也可以这样写:

    console.log(parseInt(number/10)%10);
    

    这是一个简短的例子:

    var number=1259;
    console.log(parseInt(number/10)%10);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-10
      • 2023-01-19
      • 2017-12-12
      • 1970-01-01
      • 1970-01-01
      • 2021-02-14
      • 1970-01-01
      相关资源
      最近更新 更多