1、获取数组任一项
在一些实际应用场景中,会要求实现一个随机的需求,随机获取某一项,来展示出来,都知道要通过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())
2、数组中项随机排序
有些应用场景是要求随机排列数组中项,然后展示出来;数组的排序是通过sort()实现的,随机性当然还是要Math.random()具体如下:
//同样在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))