国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

數組方法的封裝/代碼的復用加強

lmxdawn / 826人閱讀

摘要:前言在編寫代碼的時候存在一些對于數組的方法,可能涉及的頁面會很多,然后每次去寫一堆代碼。長期下去代碼會特別的繁多,是時候進行一波封裝了話不多說開始書寫優美的代碼代碼已上傳,需要的歡迎。

前言

在編寫JavaScript代碼的時候存在一些對于數組的方法,可能涉及的頁面會很多,然后每次去寫一堆代碼。長期下去代碼會特別的繁多,是時候進行一波封裝了,話不多說開始書寫優美的代碼

代碼已上傳github,需要的歡迎star(https://github.com/Xieguoiang...)。


關于數組一些方法的封裝

1.數組去重

`上文提到的Set的封裝`
//ES6新增的Set數據結構,類似于數組,但是里面的元素都是唯一的 ,其構造函數可以接受一個數組作為參數
//ES6中Array新增了一個靜態方法from,可以把類似數組的對象轉換為數組
//方法二  new 
function removeRepeatArray(arr){
    return Array.from(new Set(arr))
}

2. 數組順序打亂

function upsetArr(arr){
    return arr.sort(function(){ return Math.random() - 0.5});
}

3. 數組最值最

//這一塊的封裝,主要是針對數字類型的數組

function maxArr(arr){
    return Math.max.apply(null,arr);
}
function minArr(arr){
    return Math.min.apply(null,arr);
}

4 數組求和平均值
這一塊的封裝,主要是針對數字類型的數組 求商品總價了 求總數了 很常用
求和

function sumArr(arr){
    var sumText=0;
    for(var i=0,len=arr.length;i

平均值,小數點可能會有很多位,這里不做處理 可能你需要保留多少位 自己處理一下吧 ~~

function covArr(arr){
    var sumText=sumArr(arr);
    var covText=sumText/length;
    return covText
}

5從數組中隨機獲取元素

//類似抽獎了什么的 適應場合很多
function randomOne(arr) {
    return arr[Math.floor(Math.random() * arr.length)];
}
//randomOne([1,2,3,6,8,5,4,2,6])
//2
//randomOne([1,2,3,6,8,5,4,2,6])
//1

6返回數組(字符串)一個元素出現的次數

function getEleCount (obj, ele) {
    var num = 0;
    for (var i = 0, len = obj.length; i < len; i++) {
        if (ele == obj[i]) {
            num++;
        }
    }
    return num;
}
//getEleCount("asd56+asdasdwqe","a")
//3
//getEleCount([1,2,3,4,5,66,77,22,55,22],22)
//2

... 就不一一列舉 如有需要詳情 請移步我的github~~

字符串以及date日期的封裝

列舉3-4個//
1 去除字符串空格 四種情況
去除空格 type 1-所有空格 2-前后空格 3-前空格 4-后空格

function trim(str,type){
    switch (type){
        case 1:return str.replace(/s+/g,"");
        case 2:return str.replace(/(^s*)|(s*$)/g, "");
        case 3:return str.replace(/(^s*)/g, "");
        case 4:return str.replace(/(s*$)/g, "");
        default:return str;
    }
}

2 查找字符串 字段所出現的次數 ~

function countStr (str,strSplit){
    return str.split(strSplit).length-1
}

3. 日期的5-7日期日期時間部分到某一個時間的倒計時

   function getEndTime(endTime){
    var startDate=new Date();  //開始時間,當前時間
    var endDate=new Date(endTime); //結束時間,需傳入時間參數
    var t=endDate.getTime()-startDate.getTime();  //時間差的毫秒數
    var d=0,h=0,m=0,s=0;
    if(t>=0){
      d=Math.floor(t/1000/3600/24);
      h=Math.floor(t/1000/60/60%24);
      m=Math.floor(t/1000/60%60);
      s=Math.floor(t/1000%60);
    } 
    return "剩余時間"+d+"天 "+h+"小時 "+m+" 分鐘"+s+" 秒";
} 

如需更多覺得`用的多的功能的封裝`  歡迎留言/ 大家一起`進步`
結語

本文列舉了一些常用JS方法的封裝,代碼攏雜是前端一大弊端,希望大家也可以學習思路,一起封裝,一起進步

goTo--

歡迎加群Q 614569041 前端方向

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/51587.html

相關文章

  • 數組方法封裝/代碼復用加強

    摘要:前言在編寫代碼的時候存在一些對于數組的方法,可能涉及的頁面會很多,然后每次去寫一堆代碼。長期下去代碼會特別的繁多,是時候進行一波封裝了話不多說開始書寫優美的代碼代碼已上傳,需要的歡迎。 前言 在編寫JavaScript代碼的時候存在一些對于數組的方法,可能涉及的頁面會很多,然后每次去寫一堆代碼。長期下去代碼會特別的繁多,是時候進行一波封裝了,話不多說開始書寫優美的代碼 代碼已上傳git...

    王軍 評論0 收藏0
  • 第5章:可復用軟件構建方法 5.2面向復用構造

    摘要:代碼使用泛型類中不依賴于類型參數的方法。委托依賴于動態綁定,因為它要求給定的方法調用可以在運行時調用不同的代碼段。委托捕獲操作并將其發送給另一個對象。委托可以被看作是在對象層次上的復用機制,而繼承是類層次上的復用機制。 大綱 設計可復用的類 繼承和重寫 重載(Overloading) 參數多態和泛型編程 行為子類型與Liskov替換原則 組合與委托 設計可復用庫與框架 API和庫...

    DevTalking 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<