我创建了一个函数,该函数将测试以查看给定参数是否为平方数。

在此处阅读有关平方数的信息:https://en.wikipedia.org/?title=Square_number

如果数字是平方数,则返回true,否则返回false。负数也返回false。

例子:

isSquare(-12) // => false
isSquare( 5) // => false
isSquare( 9) // => true
isSquare(25) // => true
isSquare(27) // => false

现在,我正在使用此方法:http://jsfiddle.net/marcusdei/ujtc82dq/5/

但是,有没有更短捷的方法来完成工作呢?

最佳答案

试试这个:

var isSquare = function (n) {
    return n > 0 && Math.sqrt(n) % 1 === 0;
};
  • 检查数字是否为正
  • 检查sqrt是否为完整数字,即integer

  • Demo

    09-25 15:30