五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    樓主: z74646
    979 0

    [其他] Javascript的隨機數(shù),你知道幾種?(二) [推廣有獎]

    • 0關(guān)注
    • 1粉絲

    本科生

    75%

    還不是VIP/貴賓

    -

    威望
    0
    論壇幣
    300 個
    通用積分
    0
    學(xué)術(shù)水平
    0 點
    熱心指數(shù)
    1 點
    信用等級
    0 點
    經(jīng)驗
    890 點
    帖子
    55
    精華
    0
    在線時間
    12 小時
    注冊時間
    2014-2-26
    最后登錄
    2016-7-2

    樓主
    z74646 發(fā)表于 2016-4-25 12:51:18 |只看作者 |壇友微信交流群|倒序 |AI寫論文

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個全額獎學(xué)金名額~ !

    感謝您參與論壇問題回答

    經(jīng)管之家送您兩個論壇幣!

    +2 論壇幣

    之前和大家分享了一部分web前端開發(fā)(http://www.maiziedu.com/course/web-px/Javascript中的隨機數(shù),希望對大家有用。今天繼續(xù)給大家案例。廢話不多說,見下文:

    隨機洗牌

    隨機洗牌在JavaScript中是一個典型的算法,創(chuàng)建一個數(shù)組,通過洗牌算法,將結(jié)果放在一個新數(shù)組,然后每次彈出一個數(shù)組元素:

    var numPool = [13, 21, 36, 14, 27, 10];

    function shuffle (numPool) {

        for (var j, x, i = numPool.length; i; j = parseInt(Math.random() * i), x = numPool[--i], numPool = numPool[j], numPool[j] = x);

        return numPool;

    }

    var randomResult = shuffle(numPool);

    while (randomResult.length > 0) {

        console.log(randomResult.pop());

    }

    上面的示例是在創(chuàng)建的數(shù)組中做隨機排序,然后將數(shù)組的每個元素取出來。下面我們來看另一個示例,從一個范圍內(nèi)(比如 0~1000 )隨機取 12 數(shù),并將他們創(chuàng)建成一個數(shù)組,同時取出數(shù)組中最后一個子元素。

    var numReserve = [];while (numReserve.length < 12) {

        var randomNumber = Math.ceil(Math.random() * 1000);

        var found = false;

        for (var i = 0; i < numReserve.length; i++) {

            if (numReserve === randomNumber) {

                found = true;

                break;

            }

        }

    }if (!found) {

        numReserve[numReserve.length] = randomNumber;

    }

    隨機密碼

    這些方法創(chuàng)建一個隨機數(shù)字是足夠了,但要使用 Math.random() 創(chuàng)建一個加密的隨機安全密碼是 指數(shù)數(shù)據(jù)計算方案 ,來避免這種錯誤:

    function round(value, decimals) {

        return Number(Math.round(value+'e'+decimals)+'e-'+decimals);

    }

    round(1.005,2); // => 1.01

    Epsilon( ε )舍入

    在ES6中提供了另一種方法,處理小數(shù)四舍五入。 Machine epsilon 提供了一個合理的方法,比較兩個浮點數(shù)合理處理這個誤差。

    在Chrome的控制臺中輸入:

    0.1 + 0.2 // => 0.300000000000000040.1 + 0.2 === 0.3 // => false

    通過 Math.EPSILON 函數(shù)可以做出一個正確的比較:

    function epsEqu(x, y) {

        return Math.abs(x - y) < Number.EPSILON * Math.max(Math.abs(x), Math.abs(y));

    }

    Math.EPSILON 接受兩個參數(shù),一個是需要計算的表達式,另一個是需要做為比較的預(yù)期結(jié)果,然后用這兩個值作為比較:

    epsEqu(0.1 + 0.2, 0.3); // => true

    如果有什么不對的地方,還希望大家多多指出,共同進步!


    二維碼

    掃碼加我 拉你入群

    請注明:姓名-公司-職位

    以便審核進群資格,未注明則拒絕

    關(guān)鍵詞:Javascript script scrip Java scri 開發(fā) 元素

    您需要登錄后才可以回帖 登錄 | 我要注冊

    本版微信群
    加好友,備注cda
    拉您進交流群

    京ICP備16021002-2號 京B2-20170662號 京公網(wǎng)安備 11010802022788號 論壇法律顧問:王進律師 知識產(chǎn)權(quán)保護聲明   免責(zé)及隱私聲明

    GMT+8, 2025-1-1 11:10