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;
}
但是..后來在網(wǎng)上看到大師寫的方法,覺得自己瞬間被秒殺到渣都不剩,如下:
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é)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用JavaScript實(shí)現(xiàn)一個(gè)簡單的待辦事項(xiàng)列表todo-list
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript實(shí)現(xiàn)一個(gè)簡單的待辦事項(xiàng)列表todo-list,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-04-04
詳解如何在Javascript中使用Object.freeze()
這篇文章主要介紹了詳解如何在Javascript中使用Object.freeze(),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

