js获取数组中任意一项

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))
原文地址:https://www.cnblogs.com/web-wjg/p/10684644.html