成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

幾個js開發(fā)過程中的小技巧

golden_hamster / 3220人閱讀

摘要:前言是一門非常靈活的語言,實(shí)際的開發(fā)過程中我們也可以靈活的使用它而給我們的工作帶來便利,這篇文章記錄了自己平時學(xué)習(xí)過程中經(jīng)常用到的一些小技巧,整理出來作為筆記,也希望對感興趣的同學(xué)有所幫助。

前言

javascript是一門非常靈活的語言,實(shí)際的開發(fā)過程中我們也可以靈活的使用它而給我們的工作帶來便利,這篇文章記錄了自己平時學(xué)習(xí)過程中經(jīng)常用到的一些小技巧,整理出來作為筆記,也希望對感興趣的同學(xué)有所幫助。

1 獲取指定范圍內(nèi)的隨機(jī)數(shù)

當(dāng)我們需要獲取指定范圍(min,max)內(nèi)的整數(shù)的時候,下面的代碼非常適合。

function getRadomNum(min,max){
    return  Math.floor(Math.random() * (max - min + 1)) + min;
}

測試

2 隨機(jī)獲取數(shù)組中的元素
function getRadomFromArr(arr){
    return arr[Math.floor(Math.random()*arr.length)];
}
    

測試

3 生成從0到指定值的數(shù)字?jǐn)?shù)組
var arr=[],length=100,i=1;
for(;arr.push(i++)

測試

4 打亂數(shù)字?jǐn)?shù)組的順序
    var arr=[1,2,3,4,5,6,7,"a","dsfs",8,9,"v"];
    arr.sort(function(){return Math.random()-0.5});

測試

5 對象轉(zhuǎn)換為數(shù)組
//注意對象必須是以下格式的才可以通過此方式轉(zhuǎn)化為數(shù)組
//獲取的DOM集合,以及函數(shù)的arguments也可以通過此方式轉(zhuǎn)化為數(shù)組
var obj={
    0:"qian",
    1:"long",
    2:"chu",
    3:"tian",
    length:4
}
var _slice=[].slice;
var objArr=_slice.call(obj);

測試

6 驗(yàn)證是否為數(shù)組

function isArray(obj){

return  Object.prototype.toString.call(obj) === "[object Array]" ;

}
測試

7 獲取數(shù)組中最大或者最小值
function maxAndMin(arr){
    return {
       max:Math.max.apply(null,arr.join(",").split(",")),
       min:Math.min.apply(null,arr.join(",").split(","))
    }
}

該方法適合一維或者多維數(shù)組求最大最小值的情況

測試

8 清空數(shù)組
    //方式一 通過將長度設(shè)置為0
    var arr=[1,2,3,4,5];
    arr.length=0;
    
    //方式二 通過splice方法
     var arr=[1,2,3,4,5];
    arr.splice(0,arr.length);
    
    //方式三 通過將空數(shù)組 [] 賦值給數(shù)組(嚴(yán)格意義來說這只是將ary重新賦值為空數(shù)組,之前的數(shù)組如果沒有引用在指向它將等待垃圾回收。)
    var arr=[1,2,3,4,5];
    arr=[];
    
9 保留指定小數(shù)位
var num =4.345678;
num = num.toFixed(4);  // 4.3457 第四位小數(shù)位以四舍五入計(jì)算
10 不要直接使用delete來刪除數(shù)組中的元素

數(shù)組在js中也是對象,有時候我們可能會通過delete來刪除數(shù)組中的元素,但是其實(shí)僅僅是將數(shù)組的元素的值賦值為了undefined。

var arr=[1,2,3,4,5,"謙龍","雛田"];
    delete arr[5];
    console.log(arr,arr[5],arr.length);

測試

可以通過splice來刪除數(shù)組中的某一項(xiàng)

var arr=[1,2,3,4,5,"謙龍","雛田"];
    arr.splice(5,1);
    console.log(arr,arr[5],arr.length);

測試

11 生成指定長度的隨機(jī)字母數(shù)字字符串
function getRandomStr(len) {
    var str = "";
    for( ; str.length < len; str  += Math.random().toString(36).substr(2));
    return  str.substr(0, len);
}

測試

12 null 與 undefined

null == undefined,null == null 返回true,有時候我們?yōu)榱伺懦齨ull 和 undefined可以使用如下的代碼

    function test(obj){
        if(obj!=null){// obj除了undefined 和 null 之外都會走這里
            ....這里寫代碼邏輯
        }
    }
13 找出數(shù)組中出現(xiàn)次數(shù)最的元素,并給出其出現(xiàn)過的位置
function getMaxAndIndex( arr ){
        var obj = {};
        arr.forEach(function(item,index){
            if(!obj[item]){
                obj[item]= {indexs: [index]}
            }else{
                obj[item]["indexs"].push(index);
            }
        });
        var num=0;//記錄出現(xiàn)次數(shù)最大值
        var str="";//記錄出現(xiàn)次數(shù)最多的字符
        var reArr;//返回最大值的位置數(shù)組
        for(var attr in obj){
            var temp=obj[attr]["indexs"];
            if(temp.length>num){
                num=temp.length;
                str=attr;
                reArr=temp;
            }
        }
        return {
            maxStr:str,
            indexs:reArr
        }
    }

測試結(jié)果

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/86178.html

相關(guān)文章

  • 你不知道的Chrome DevTools(2):那些debug的技巧

    摘要:我打算把一些上使用的高級技巧寫成你不知道的這一系列的博文,希望大家一起學(xué)習(xí)學(xué)習(xí)。然而,這還不是最嚴(yán)重的,因?yàn)榈恼Z法比較寬松和隨意,所以同一功能多種寫法,各種奇葩都有??偨Y(jié)前端在調(diào)試代碼的時候,知道開發(fā)工具上的小技巧,可以提高查找問題的效率。 Web前端開發(fā)過程中必然會用到Chrome瀏覽器自帶的開發(fā)者工具Chrome DevTools,使用它作為Web前端開發(fā)性能調(diào)試的必備工具。就連隔...

    warnerwu 評論0 收藏0
  • HTML-CSS-JS

    摘要:本周于上海閉幕,掘金和知乎上都有對應(yīng)的實(shí)錄和問答,但會議的視頻目前都還沒放出來,有心的同學(xué)如果找到了歡迎分享。建議中英文對照閱讀。英文原文前端獨(dú)立技術(shù)博客推薦推薦一些現(xiàn)在還在堅(jiān)持原創(chuàng)的博主,有業(yè)界大牛,也有小鮮肉,也有國外美女。 CSS 樣式書寫規(guī)范最佳實(shí)踐 本文的所列是實(shí)踐當(dāng)中得出的一套比較不錯的 CSS 書寫規(guī)范,可以結(jié)合自身團(tuán)隊(duì)發(fā)展出一套適合自己業(yè)務(wù)的規(guī)范。 CSS中的字體與排版...

    mikasa 評論0 收藏0
  • HTML-CSS-JS

    摘要:本周于上海閉幕,掘金和知乎上都有對應(yīng)的實(shí)錄和問答,但會議的視頻目前都還沒放出來,有心的同學(xué)如果找到了歡迎分享。建議中英文對照閱讀。英文原文前端獨(dú)立技術(shù)博客推薦推薦一些現(xiàn)在還在堅(jiān)持原創(chuàng)的博主,有業(yè)界大牛,也有小鮮肉,也有國外美女。 CSS 樣式書寫規(guī)范最佳實(shí)踐 本文的所列是實(shí)踐當(dāng)中得出的一套比較不錯的 CSS 書寫規(guī)范,可以結(jié)合自身團(tuán)隊(duì)發(fā)展出一套適合自己業(yè)務(wù)的規(guī)范。 CSS中的字體與排版...

    李世贊 評論0 收藏0
  • HTML-CSS-JS

    摘要:本周于上海閉幕,掘金和知乎上都有對應(yīng)的實(shí)錄和問答,但會議的視頻目前都還沒放出來,有心的同學(xué)如果找到了歡迎分享。建議中英文對照閱讀。英文原文前端獨(dú)立技術(shù)博客推薦推薦一些現(xiàn)在還在堅(jiān)持原創(chuàng)的博主,有業(yè)界大牛,也有小鮮肉,也有國外美女。 CSS 樣式書寫規(guī)范最佳實(shí)踐 本文的所列是實(shí)踐當(dāng)中得出的一套比較不錯的 CSS 書寫規(guī)范,可以結(jié)合自身團(tuán)隊(duì)發(fā)展出一套適合自己業(yè)務(wù)的規(guī)范。 CSS中的字體與排版...

    MudOnTire 評論0 收藏0
  • 用測試工具JSLitmus來告訴你幾個提升JavaScript性能的小技巧

    摘要:性能測試工具操作測試代碼測試結(jié)果黃條代表每秒可執(zhí)行測試函數(shù)的次數(shù),當(dāng)然越多越快。務(wù)必減少操作,減少無意義的路徑的查找。其他測試測試代碼這些測試代碼來自,官網(wǎng)的例子這是一個空的非循環(huán)測試。正則表達(dá)式測試,數(shù)組的,新建日期,稍微慢了些。 性能測試工具 JSLitmus dom操作 測試代碼 ...

    羅志環(huán) 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<