js獲取數組中任意一項

一、獲取數組任一項java

在一些實際應用場景中,會要求實現一個隨機的需求,隨機獲取某一項,來展現出來,都知道要經過javaScript的Math.random()方法來實現,這裏我在Array的原型上添加了一個random方法:數組

 1 //在Array原型上建立一個random方法
 2 Array.prototype.random = function () {
 3     var idx = Math.floor((Math.random() * this.length));
 4     //var n = this.slice(idx, idx+1)[0];//或者用下面splice()
 5     var n = this.splice(idx,1)[0];
 6     return n;
 7 }
 8 
 9 //聲明任意一個數組
10 var arr=[1,2,3,"a","b"];
11 //可直接像調用數組其餘操做方法同樣使用,如arr.random(),返回值即是arr任一項
12 console.log(arr.random())

二、數組中項隨機排序dom

有些應用場景是要求隨機排列數組中項,而後展現出來;數組的排序是經過sort()實現的,隨機性固然仍是要Math.random()具體以下:this

//一樣在Array原型建立一個方法randomsort();
Array.prototype.randomsort = function (a, b) {
    return Math.random() > .5 ? -1 : 1; //經過隨機產生0到1的數,而後判斷是否大於0.5從而影響排序,產生隨機性的效果。
}
//調用方式仍是經過sort()方法,根絕傳值不一樣,來實現的
console.log(arr1.sort(arr1.randomsort))
相關文章
相關標籤/搜索