JS隨機(jī)排序數(shù)組實(shí)現(xiàn)方法分析
本文實(shí)例講述了JS隨機(jī)排序數(shù)組。分享給大家供大家參考,具體如下:
做隨機(jī)顯示推薦廣告的時(shí)候,需要隨機(jī)排序數(shù)據(jù)數(shù)組,就動(dòng)手寫了一個(gè),如下:
function randomOrder (targetArr) { var originalArr = targetArr; var newArr = []; var arrLength = targetArr.length; var j = -1; var tmpObj = {}; for(var i = 0;i < arrLength;i++){ while(true) { if(tmpObj[j = parseInt(arrLength * Math.random())] == undefined) { tmpObj[j] = 1; console.log(j); break; } } newArr[i] = originalArr[j]; } return newArr; }
但是..后來(lái)在網(wǎng)上看到大師寫的方法,覺(jué)得自己瞬間被秒殺到渣都不剩,如下:
function sortNumber(a,b) { return Math.random() - 0.5; } var arr = arr=[9,3,1,2,5,8,4,7,6,0]; arr.sort(sortNumber);
自己實(shí)在有太多太多需要學(xué)習(xí)了??!
PS:這里再為大家提供幾款相關(guān)在線工具供大家參考使用:
在線隨機(jī)數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
在線中英文根據(jù)首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu
在線文本倒序翻轉(zhuǎn)排序工具:
http://tools.jb51.net/aideddesign/flipped_txt
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JS如何對(duì)Iframe內(nèi)外頁(yè)面進(jìn)行操作總結(jié)
iframe標(biāo)簽是一個(gè)內(nèi)聯(lián)框架,即用來(lái)在當(dāng)前HTML頁(yè)面中嵌入另一個(gè)文檔的,且所有主流瀏覽器都支持iframe標(biāo)簽,這篇文章主要給大家介紹了關(guān)于JS如何對(duì)Iframe內(nèi)外頁(yè)面進(jìn)行操作的相關(guān)資料,需要的朋友可以參考下2021-10-10JavaScript Function函數(shù)類型介紹
在JS中,Function(函數(shù))類型實(shí)際上是對(duì)象;每個(gè)函數(shù)都是Function類型的實(shí)例;而且都與其他引用類型一樣具有屬性和方法2015-04-04基于JavaScript實(shí)現(xiàn)圖片連播和聯(lián)級(jí)菜單實(shí)例代碼
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)圖片連播和聯(lián)級(jí)菜單實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-07-07獲取網(wǎng)站跟路徑的javascript代碼(站點(diǎn)及虛擬目錄)
js獲取網(wǎng)站根路徑(站點(diǎn)及虛擬目錄) ,需要的朋友可以參考下。2009-10-10javascript實(shí)現(xiàn)動(dòng)態(tài)CSS換膚技術(shù)的腳本
javascript實(shí)現(xiàn)動(dòng)態(tài)CSS換膚技術(shù)的腳本...2007-06-06JavaScript設(shè)計(jì)模式之裝飾者模式定義與應(yīng)用示例
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之裝飾者模式定義與應(yīng)用,結(jié)合實(shí)例形式分析了JavaScript裝飾者模式的原理、定義及應(yīng)用方法,需要的朋友可以參考下2018-07-07JS異步堆棧追蹤之為什么await勝過(guò)Promise
與直接使用Promise相比,使用async/await不僅可以使代碼更具可讀性,而且還可以在JavaScript引擎中實(shí)現(xiàn)一些有趣的優(yōu)化。這篇文章是關(guān)于一個(gè)這樣的優(yōu)化,涉及異步代碼的堆棧追蹤。2021-04-04JavaScript實(shí)現(xiàn)登錄拼圖驗(yàn)證的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實(shí)現(xiàn)登錄拼圖驗(yàn)證的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-01-01