草庐IT

javascript - JavaScript 中测试给定参数是否为平方数的最佳方法是什么?

我创建了一个函数来测试给定参数是否为平方数。在此处阅读有关平方数的信息:https://en.wikipedia.org/?title=Square_number如果数字是平方数,则返回true,否则返回false。负数也返回false。例子:isSquare(-12)//=>falseisSquare(5)//=>falseisSquare(9)//=>trueisSquare(25)//=>trueisSquare(27)//=>false现在,我正在使用这个方法:http://jsfiddle.net/marcusdei/ujtc82dq/5/但是,有没有更短更简洁的方法来完成这

javascript - 为页面上的所有数字设置专门的字体

对于我的网页,我选择了一种适合所有字母的字体。但是,对于所有数字,我想使用不同的字体。有没有一种方法可以设置CSS规则来定位页面上的所有数字?如果我不能严格地使用CSS做到这一点,我的第一个想法是使用正则表达式将所有数字包围在带有“数字”类的范围内,并为该类应用字体。有更好的方法吗? 最佳答案 您可以通过遍历文档在JavaScript中相对简单地完成此操作,以便将任何数字序列包装在具有class属性的span元素中并声明font-family在CSS中。原则上纯CSS也是可能的,尽管目前只有WebKit浏览器支持:@font-fac

javascript - 显示不带尾随零的最多两位小数的数字

在我的代码中,我将接受多个值,例如:8.74568.78我需要让它们显示为8.748.78即最多显示两位小数。我知道.toFixed(2)会帮助我处理第一个值,但在第二个和第三个值上会有我不想要的尾随零。如何产生我想要的结果? 最佳答案 使用Number.toFixed将数字四舍五入到两位数并格式化为字符串。然后使用String.replace删除尾随零:[8.7456,8.745,8.74,8.7,8].forEach(function(num){varstr=num.toFixed(2).replace(/\.?0+$/,"")

javascript - x|0 如何在 JavaScript 中降低数字?

在我先前问题的已接受答案中(Whatisthefastestwaytogeneratearandomintegerinjavascript?),我想知道一个数字如何通过符号|丢失小数点.例如:varx=5.12042;x=x|0;如何将数字降到5?更多例子:console.log(104.249834|0);//104console.log(9.999999|0);//9 最佳答案 因为,根据ECMAScript规范,按位运算符运算符对每个要计算的表达式调用ToInt32。参见11.10BinaryBitwiseOperators:

javascript - javascript 中 isNaN 和 Number.isNaN 的混淆

我对NaN的工作原理感到困惑。我执行了isNaN(undefined)它返回了true。但是,如果我将使用Number.isNaN(undefined),它将返回false。那么我应该使用哪一个。还有为什么结果会有这么大的差异。 最佳答案 引用自ponyfooarticleonnumbersinES6:Number.isNaNisalmostidenticaltoES5globalisNaNmethod.Number.isNaNreturnswhethertheprovidedvalueequalsNaN.Thisisaverydi

javascript - React.js 控制的文本光标焦点问题

我有一个简单的受控输入类型,如下所示。我的value通常返回一个十进制数,例如123.123。我的问题是,当我尝试编辑值时。一旦小数位被清除,光标就会失去焦点并转移到开头而忽略整数。如下所示:我该如何解决这个问题?清除小数位后,光标立即跳到开头,无法编辑整数。任何帮助将不胜感激。更新以下是下面用户要求的剩余代码。render(){const{value}=this.state;return()}我的updateMyChange方法很简单updateMyChange(e){this.setState({value:e.target.value});}它什么都不做,只是设置新值。清除小数位

javascript - 在 JavaScript 中将整数转换为任意排序的字节数组的最快方法?

我希望将MIN_SAFE_INTEGER到MAX_SAFE_INTEGER范围内的JavaScript数字(53位,不包括符号)转换为分布在7个字节上的位串移动两位以允许符号和空标识符。到目前为止,我想到的最好的是:functiontoUint8Array(data){data=data.toString(2);data=newArray(65-data.length).join('0')+data;varret=newUint8Array(data.length/8);for(vari=0;iFiddle正如您马上可以看出的那样,这会非常慢(并且这些位仍然没有在所有7个事件字节中移动

javascript - 在 Javascript 中将大整数转换为十六进制字符串

我需要找到一种在javascript中将大数字转换为十六进制字符串的方法。直接,我尝试了myBigNumber.toString(16)但如果myBigNumber有一个非常大的值(例如1298925419114529174706173)然后myBigNumber.toString(16)将返回一个错误的结果,这太棒了。我尝试用自己的函数编写如下:function(integer){varresult='';while(integer){result=(integer%16).toString(16)+result;integer=Math.floor(integer/16);}}然而

Javascript:生成具有固定均值和标准差的随机数

我的问题:如何在Javascript中创建具有给定均值和标准差(sd)的随机数列表?示例:我想创建一个列表,其中包含1到10之间的5个随机数。生成的平均值应为5,标准差应为2。到目前为止我做了什么:我的想法是(http://jsfiddle.net/QASDG/3/):创建一个函数(名为“createData”)创建1到10之间的5个随机数并将它们放入“数组”此函数还应计算这5个数字的平均值(和标准差)。使用“do-while”循环:只要“平均值变为5”(且“sd变为2”),就执行上述函数。但是当我调用do-while循环时,浏览器当然会崩溃,因为在很多情况下平均值为!=5(而sd!=

Javascript:如何使用 promise 迭代数组?

LIVEDEMO给定以下函数:functionisGood(number){vardefer=$q.defer();$timeout(function(){if(){defer.resolve();}else{defer.reject();}},100);returndefer.promise;}和一组数字(例如[3,9,17,26,89]),我想找到第一个“好”的数字。我希望能够做到这一点:vararr=[3,9,17,26,89];findGoodNumber(arr).then(function(goodNumber){console.log('Goodnumberfound:'