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

資訊專欄INFORMATION COLUMN

javascript有用的代碼片段

PiscesYE / 2600人閱讀

摘要:有用的代碼片段小數取整按位運算符直接去掉小數,向下取整,返回的數小于等于原來的數。布爾值返回或,返回,數字直接返回,返回,對于字符串,將其轉換為十進制數值,會忽略前面的進制除外,空字符串返回,浮點數會返回浮點數值。

JavaScript有用的代碼片段 小數取整
const x = 1.234;
~~x    //1
x >>   //1
x | 0  //1
Math.floor(x)  //1

const y = -1.4;
x >>   //-1
Math.floor(y)   //-2
按位運算符直接去掉小數,Math.floor()向下取整,返回的數小于等于原來的數。
生成n位隨機數
let getRandom = n => Math.random().toString().slice(-n);
getRandom(6)   //6位隨機數
生成16進制顏色
let colorCode = "#" +("00000" +(Math .random()* 0x1000000 << 0).toString(16)).slice(- 6);
n到m間隨機整數
let randomNum = (n,m) => Math.floor(Math.random()*(m-n) + n);
randomNum(2,10)   //2-10之間的整數
生成n到m間的隨機整數,不包括m,n和m可以為負數。
駝峰命名轉下劃線
let humpToUnderline = str => str.match(/^[a-z][a-z0-9]+|[A-Z][a-z0-9]*/g).join("_").toLowerCase();
humpToUnderline("helloWorld");  //hello_world
url參數轉json
let urlToJson = url => {
    let json = {};
    if (!!!url) return json;
    let data = url.split("?")[1] ? url.split("?")[1].split("&") : [];
    for(let i=0; i
獲取url中的參數
let getUrlData = name => {
    let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    let r = window.location.search.substr(1).match(reg);
    if (r != null) return decodeURI(r[2]);
    return null;
}
n維數組轉1維數組
let flatten = arr => JSON.parse(`[${JSON.stringify(arr).replace(/[|]/g, "")}]`);
let flatten = arr => arr.reduce((a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []);
let flatten = a => Array.isArray(a) ? [].concat(...a.map(flatten)) : a;

flatten([1,[2,3,[3,4],5])  //[1,2,3,4,5]
n維數組展開成字符串
let arr = [1,3,[4,[72,"a","d"],3,[6,"c"],d]];

arr+"";
arr.toString();
arr.join();
JSON.stringify(arr).replace(/[|]/g,"");

//"1,3,4,72,"a","d",3,6,"c""
時間格式化
//時間格式化
function format1(x, y) {
    let i = 0;
    var z = {
        y: x.getFullYear(),
        M: x.getMonth() + 1,
        d: x.getDate(),
        h: x.getHours(),
        m: x.getMinutes(),
        s: x.getSeconds()
    };
    return y.replace(/(y+|M+|d+|h+|m+|s+)/g, function(v) {
        console.log(++i);
        return ((v.length > 1 ? "0" : "") + eval("z." + v.slice(-1))).slice(-(v.length > 2 ? v.length : 2))
    });
}

format1(new Date(), "yyyy-MM-dd h:m:s");   //2018-01-22 9:38:10
統計文字個數
//統計文字個數
function wordCount(data) {
  var pattern = /[a-zA-Z0-9_u0392-u03c9]+|[u4E00-u9FFFu3400-u4dbfuf900-ufaffu3040-u309fuac00-ud7af]+/g;
  var m = data.match(pattern);
  var count = 0;
  if( m === null ) return count;
  for (var i = 0; i < m.length; i++) {
    if (m[i].charCodeAt(0) >= 0x4E00) {
      count += m[i].length;
    } else {
      count += 1;
    }
  }
  return count;
}

var text = "統計文字個數";
// console.log(wordCount(text)); // 6
格式化數字
//法一
function formatNum (str) {
    return str.replace(/B(?=(d{3})+(?!d))/g, ",");
}

//法二
function formatNum (str) {
    return str.split("").reverse().reduce((prev, next, index) => {
        return ((index % 3) ? next : (next + ",")) + prev
    })
}
檢測質數
function isPrime(n) {
    return !(/^.?$|^(..+?)1+$/).test("1".repeat(n))
}
統計字符出現的次數
function strTimes (str) {
    return str.split("").reduce((p,n) => (p[n]++ || (p[n]=1) ,p), {});   
}    
評級
let grade = rate => "★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);
字符串類型的數字轉數字
let a = "1";
+a   //1;
+a 可以理解為Number(a),將一個變量轉成數字。布爾值返回0或1,undefined返回NaN,數字直接返回,null返回0,對于字符串,將其轉換為十進制數值,會忽略前面的0(16進制除外),空字符串返回0,浮點數會返回浮點數值。其他格式字符串(無論是否數字開頭,返回NaN,字符串中好幾個小數點,返回NaN
數組去重復
[...new Set(arr)]

更多更詳細的數組去重方法。

獲取時間戳
(new Date()).getTime();
(new Date).getTime();
new Date().getTime();
+new Date();
Date.now();

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

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

相關文章

  • 提高 JavaScript 開發效率高級 VSCode 擴展!

    摘要:使用高亮類似的擴展更強大的高亮擴展,具有更多功能。為了檢查和檢查響應,使用了之類的工具。在這里獲取這兩個擴展自動閉合標記和自動重命名標記。類似的擴展顯示提交歷史的精美圖表等等。 想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等著你! Quokka.js Quokka.js 是一個用于 JavaScript 和 TypeScript 的實時運行代碼平臺。這意味著它會實時運行...

    zhigoo 評論0 收藏0
  • JavaScript 編程精解 中文第三版 十、模塊

    摘要:來源編程精解中文第三版翻譯項目原文譯者飛龍協議自豪地采用谷歌翻譯編寫易于刪除,而不是易于擴展的代碼。模塊之間的關系稱為依賴關系。用于連接模塊的最廣泛的方法稱為模塊。模塊的主要概念是稱為的函數。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項目原文:Modules 譯者:飛龍 協議:CC BY-NC-SA 4.0 自豪地采用谷歌翻譯 編寫易于刪除,而不是易于擴...

    justjavac 評論0 收藏0
  • VIM 代碼片段插件 ultisnips 使用教程

    摘要:博客原文同步安裝插件安裝分兩部分,一個是插件本身,另外一個是代碼片段倉庫。一般來說把默認的代碼片段倉庫下載下來按需修改后上傳到自己的即可。這時需要使用參數選項使用正則代碼片段通常寫代碼的時候需要使用等來打印上下文中的變量。 博客原文同步 安裝 Ultisnips 插件安裝分兩部分,一個是 ultisnips 插件本身,另外一個是代碼片段倉庫。一般來說把默認的代碼片段倉庫下載下來按需修改...

    jsummer 評論0 收藏0
  • JavaScript有用代碼片段和trick

    摘要:在老的中其值為,在最新的中為,即空單元數組。在老中,相當于顯示使用的方式創建長度為的數組。判斷是否為中文判斷是否為常見中文符號中文標點符號,。 本文內容來自知乎《有哪些短小卻令人驚嘆的 JavaScript 代碼?》和文章《這些JavaScript編程黑科技,裝逼指南,高逼格代碼,讓你驚嘆不已》,同時也匯集了部分網上其它來源的內容。 浮點數取整 const x = 123.4545; ...

    junfeng777 評論0 收藏0
  • 30秒可以理解有用js代碼片段

    摘要:相當于的使用返回一個函數,返回一個調用原始函數的。你可以省略來使用窗口的默認值。第一個最左邊的函數可以接受一個或多個參數其余的功能必須是一元的。使用刪除任何空字符串。如果是位數的顏色代碼,則先轉換為位數字版本。轉顏色將的值轉換為顏色代碼。 原文基礎上增加了其它方法以及注釋等,進行了小幅度修改,便于閱讀注意箭頭函數有無{}會影響是否需要再return 原文地址 Adapter 適配器,以...

    phoenixsky 評論0 收藏0

發表評論

0條評論

PiscesYE

|高級講師

TA的文章

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