數組操作函數封裝

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;
    })
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章