JS陣列隨機排數
陣列隨機排數
直接貼程式碼
function shuffle(arr) {
let i = arr.length;
while (i) {
let j = Math.floor(Math.random() * i--);
[arr[j], arr[i]] = [arr[i], arr[j]];
}
return arr
}
程式碼分析:
1. 直接將陣列傳參,對陣列進行倒迴圈; 2. 利用 Math.floor(Math.random() * i--) 獲取一個不大於陣列長度的隨機數 j,即隨機從陣列中抽取一個元素arr[j]; 3. 每次迴圈,都將陣列的最後一個元素(即 arr[i]),與 隨機得到的元素 arr[j]進行互換; 4. 最後 返回 打亂順序的 陣列 arr.
以上,最後附上一篇詳解js陣列的文章
相關推薦
JS陣列隨機排數
陣列隨機排數 直接貼程式碼 function shuffle(arr) { let i = arr.length; while (i) { let j = Math.floor(Math.random() * i--);
洗牌方法-----JS陣列隨機排序
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> #box {
javascript array js 快取演算法,陣列去重、陣列隨機抽取、字母串轉數字,數字轉字串
前言 因為平時在寫程式碼的過程中,有些演算法會經常重複寫,比如陣列去重、陣列抽取隨機值等!雖然這些不是很難的邏輯,但是每次剛開始遇到需求的時候,還是需要琢磨一些時間才能想出來,所以此文件把這些常見演算法的思想記錄下來,以便下次再遇到的時候不會手腳無措了! 這篇文件不考慮es6等
JS陣列操作(陣列增加、刪除、翻轉、轉字串、取索引、擷取(切片)slice、剪接splice、數組合並)
POP 刪除最後一項 刪除最後一項,並返回刪除元素的值;如果陣列為空則返回undefine var a = [1,2,3,4,5]; a.pop();//a:[1, 2, 3, 4] a.pop();//a:[1, 2, 3] a.pop();//a:[1, 2] shif
js 陣列去重 + 是否包含指定字串 + 深淺拷貝+數組合並
window.uniq=function (array){ array.sort(); var temp=[array[0]]; for(var i = 1; i < array.length; i++){
js 生成隨機陣列或者叫做洗牌演算法
我們假設有一個顏色陣列是這樣的 var arr = ["red", "green", "blue", "yellow", "brown", "violet"]。如果將其順序打亂,生成一個隨機的陣列。 這該如何做呢? 1.一種直觀的做法就是,隨機生成一個[0, arr.leb
JS陣列去重,JS根據數組裡面的物件屬性值去重
js陣列簡單去重 1 2 3 4 5 6 7 8 9 10 11 12 var arr1 = [1, 2, 3, 4, 5, 6, 3, 4, 3]; function arrayUnique1(arr) {
js陣列的順序排序、完全隨機打亂排序 總結
一、順序排序 1、按字元編碼排序:sort() var testArray=[23,500,1000,300,34,-2]; testArray.sort(); alert(testArra
jquery js 實現陣列隨機排序
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>實現陣列隨機排序</title>
js動態產生物件push進陣列,發現數組所有元素(element or object)一樣
原因:物件是同一個物件,動態建立物件時,不斷對物件賦值,push進陣列,陣列[obj,obj,obj],所有的obj值相同,因而導致陣列中都是同一個物件 talk is cheap,show you
js怎麽刪數組固定的值
.proto rip i++ var ++ ray spl array ice <script type="text/javascript"> Array.prototype.indexOf = function(val) {
js new一個函數和直接調用函數的差別
.get new javascrip 引用類型 類型 彈出 color pos 不同 用new和調用一個函數的差別:假設函數返回值是一個值類型(Number、String、Boolen)時,new函數將會返回這個函數的實例對象。而假設這個函數的返回值是一個引用類型(
js中的函數對象
三種 九九 mis .get asc color logs text true JavaScript三種定義函數方法: {}表示函數體1.第一種是使用function語句定義函數 function func() { } 2.第二種是使用Function(
node.js如何讀取MySQL數據
result require local ons 統一 password nbsp ext 顯示數據 先安裝mysql模塊。 node.js默認安裝時,模塊文件放在 /usr/local/lib/node_modules 這個目錄下,為了便宜管理,模塊還是統一安裝到這裏好。
隨機猜數遊戲源代碼
源代碼 輸入 python true num random import div pytho from random import randint num=randint(1,50) a=0 while a==0: print‘請輸入答案‘ answer=
js獲取url參數
動態 www js獲取url參數 協議 瀏覽器 .html ava 而是 type 對於這樣一個URLhttp://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere我們
vue.js-讀取/發送數據
讀取 border htm ole solid eth scrip line text <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>v
js 類型轉換 數組 字符串 時間 數字
parseint {} parse undefine als abc 字符串 pre ole 一、轉為數字 Number("324") // 324 Number("324abc") // NaN Number("") // 0 Number(false) // 0
js學習總結----函數
索引 知識 結束 開始 總結 小括號 接收 ons 設定 一、函數基本知識 1、function:函數->具備某個功能的一個方法。方法本身是沒有什麽意義的,只有執行這個方法實現了對應的功能才有自己的價值。 2、函數由兩部分組成:創建一個函數、執行這個函數 fun
js面向對象編程: js類定義函數時prototype和this差別?
this script 私有字段 new art func 內部 name prot 在面向對象編寫js腳本時,定義實例方法主要有兩種 例如以下: function ListCommon2(afirst) { var first=afirst;