成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

數(shù)組方法的封裝/代碼的復(fù)用加強(qiáng)

王軍 / 3110人閱讀

摘要:前言在編寫代碼的時(shí)候存在一些對(duì)于數(shù)組的方法,可能涉及的頁(yè)面會(huì)很多,然后每次去寫一堆代碼。長(zhǎng)期下去代碼會(huì)特別的繁多,是時(shí)候進(jìn)行一波封裝了話不多說(shuō)開始書寫優(yōu)美的代碼代碼已上傳,需要的歡迎。

前言

在編寫JavaScript代碼的時(shí)候存在一些對(duì)于數(shù)組的方法,可能涉及的頁(yè)面會(huì)很多,然后每次去寫一堆代碼。長(zhǎng)期下去代碼會(huì)特別的繁多,是時(shí)候進(jìn)行一波封裝了,話不多說(shuō)開始書寫優(yōu)美的代碼

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

關(guān)于數(shù)組一些方法的封裝

1.數(shù)組去重

`上文提到的Set的封裝`
//ES6新增的Set數(shù)據(jù)結(jié)構(gòu),類似于數(shù)組,但是里面的元素都是唯一的 ,其構(gòu)造函數(shù)可以接受一個(gè)數(shù)組作為參數(shù)
//ES6中Array新增了一個(gè)靜態(tài)方法from,可以把類似數(shù)組的對(duì)象轉(zhuǎn)換為數(shù)組
//方法二  new 
function removeRepeatArray(arr){
    return Array.from(new Set(arr))
}

2. 數(shù)組順序打亂

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

3. 數(shù)組最值最

//這一塊的封裝,主要是針對(duì)數(shù)字類型的數(shù)組

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

4 數(shù)組求和,平均值
這一塊的封裝,主要是針對(duì)數(shù)字類型的數(shù)組 求商品總價(jià)了 求總數(shù)了 很常用
求和

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

平均值,小數(shù)點(diǎn)可能會(huì)有很多位,這里不做處理 可能你需要保留多少位 自己處理一下吧 ~~

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

5從數(shù)組中隨機(jī)獲取元素

//類似抽獎(jiǎng)了什么的 適應(yīng)場(chǎng)合很多
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返回?cái)?shù)組(字符串)一個(gè)元素出現(xiàn)的次數(shù)

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

... 就不一一列舉 如有需要詳情 請(qǐng)移步我的github~~

字符串以及date日期的封裝

列舉3-4個(gè)//
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 查找字符串 字段所出現(xiàn)的次數(shù) ~

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

3. 日期的5-7日期日期時(shí)間部分到某一個(gè)時(shí)間的倒計(jì)時(shí)

   function getEndTime(endTime){
    var startDate=new Date();  //開始時(shí)間,當(dāng)前時(shí)間
    var endDate=new Date(endTime); //結(jié)束時(shí)間,需傳入時(shí)間參數(shù)
    var t=endDate.getTime()-startDate.getTime();  //時(shí)間差的毫秒數(shù)
    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 "剩余時(shí)間"+d+"天 "+h+"小時(shí) "+m+" 分鐘"+s+" 秒";
} 

如需更多覺(jué)得`用的多的功能的封裝`  歡迎留言/ 大家一起`進(jìn)步`
結(jié)語(yǔ)

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

goTo--

歡迎加群Q 614569041 前端方向

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/92127.html

相關(guān)文章

  • 數(shù)組方法封裝/代碼復(fù)用加強(qiáng)

    摘要:前言在編寫代碼的時(shí)候存在一些對(duì)于數(shù)組的方法,可能涉及的頁(yè)面會(huì)很多,然后每次去寫一堆代碼。長(zhǎng)期下去代碼會(huì)特別的繁多,是時(shí)候進(jìn)行一波封裝了話不多說(shuō)開始書寫優(yōu)美的代碼代碼已上傳,需要的歡迎。 前言 在編寫JavaScript代碼的時(shí)候存在一些對(duì)于數(shù)組的方法,可能涉及的頁(yè)面會(huì)很多,然后每次去寫一堆代碼。長(zhǎng)期下去代碼會(huì)特別的繁多,是時(shí)候進(jìn)行一波封裝了,話不多說(shuō)開始書寫優(yōu)美的代碼 代碼已上傳git...

    lmxdawn 評(píng)論0 收藏0
  • 第5章:可復(fù)用軟件構(gòu)建方法 5.2面向復(fù)用構(gòu)造

    摘要:代碼使用泛型類中不依賴于類型參數(shù)的方法。委托依賴于動(dòng)態(tài)綁定,因?yàn)樗蠼o定的方法調(diào)用可以在運(yùn)行時(shí)調(diào)用不同的代碼段。委托捕獲操作并將其發(fā)送給另一個(gè)對(duì)象。委托可以被看作是在對(duì)象層次上的復(fù)用機(jī)制,而繼承是類層次上的復(fù)用機(jī)制。 大綱 設(shè)計(jì)可復(fù)用的類 繼承和重寫 重載(Overloading) 參數(shù)多態(tài)和泛型編程 行為子類型與Liskov替換原則 組合與委托 設(shè)計(jì)可復(fù)用庫(kù)與框架 API和庫(kù)...

    DevTalking 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<