数组操作函数封装

来源:互联网 发布:java使用zookeeper 编辑:程序博客网 时间:2024/05/20 17:58
1、数组去重
//普通的数组去重操作function removeRepeatItem(arr) {    if(arr.length){        for(var i = 0; i < arr.length; i++){            for(var j = i+1; j < arr.length; j++){                if(arr[i] == arr[j]){                    arr.splice(j,1);                    j--;                }            }        }    }    return arr;}//新增的数组重置操作function resetArr(arr) {    return Array.from(new Set(arr));}
2、获取数组的最大值和最小值
function maxArr(arr){    return Math.max.apply(null,arr);}function minArr(arr) {    return Math.min.apply(null,arr);}
3、数组随机重组
function randomArr(arr) {    return arr.sort(function () {        return Math.random() - 0.5;    })}
4、数组求和和平均值
function sumArr(arr) {    var sum = 0;    for(var i=0;i<arr.length;i++){        sum += arr[i];    }    return sum;}function avaArr(arr) {    var sum = sumArr(arr);    return sum/arr.length;}
5、从数组中获取随机元素
function randomFromArr(arr) {    var rArr = arr[Math.floor(Math.random() * arr.length)];    return rArr;}
6、返回数组中一个元素出现的个数
function getCountEle(arr,ele) {    var count = 0;    for(var i = 0; i< arr.length; i++){        if(ele == arr[i]){            count++;        }    }    return count;}
7、返回数组中下标为n~m的元素
function getRangeEle(arr,n,m) {    var arr1 = [];    var arr2 = [];    for(var i = 0;i < arr.length; i++){        if(i >= n && i <= m){            arr1.push(arr[i]);        }    }    arr2 = arr.slice(n,m);//这个截取是不包含m位置的元素的    arr1.push(arr2);    return arr1;}
8、数组的过滤
function filterArr(arr) {    return arr.filter(function (item) {        //可以在该函数内部进行一些其他的操作        return item.length > 3;    })}
原创粉丝点击