摘要:參數對象數組,需要排序的目標要按排序的對象屬性名稱排序的方向,為從小到大是否使用模式,默認為,注意,使用該參數時前面的必須傳入。使用場景想要排列一個對象數組,條件是根據這些對象中的某個屬性。
cdd-lib
個人常用庫積累
說明本庫是完全的es2015模塊語法,也使用了ts源碼。所以使用commonjs方式導致不可用。
路徑和引用說明/index.js
根路徑的index.js文件為node_modules對外輸出的文件,是es6模塊方式。
/dist
在dist文件夾里有集成的es6,cjs,umd,borowser方式的文件。
browser.js,umd供瀏覽器或者amd,cjs使用。
main.cjs.js, commmonjs模式。
module.es.js, es6模式。
安裝npm i cdd-libTime
類
實例屬性與方法
constructor
interface $time { duration?: number everyDuration?: null | Function dateSeparator?: string timeSeparator?: string final?: null | Function finally?: null | Function times?: number date:any }
declare function _Time(): $time;//構造函數 declare interface $time {//time實例 isRuning: boolean//實例現在的運行狀態 hour: number//小時 minutes: number//分鐘 seconds: number//秒 year: number//年 times:numer//執行timeout時倒數執行的次數 month: number//月 day: number//日期 stamp:number//創建是的時間戳 duration:number//間隔毫秒數默認1000 dateSeparator: string//日期分隔符默認- timeSeparator: string//時間分隔符默認: date: string//日期 time: string//時間 ap: string//上午還是下午AM PM start(): any//開始循環執行 stop(): any//結束循環執行 everyDuration?(parms?: any): any//每次執行的函數 timeout.timeout():any//倒數執行的函數 final():cb倒數執行完時執行的回到函數 }limitText
限制一段文字的長短并添加符號,類似String的padEnd,但是該方法是限制和替代而不是補全。
用法:
limitText(str:string,limit:10,rep:".")
eg:
let str = "你好啊,想要去那里,我想去一個好地方" limitText(str)//=>你好啊,想要去...htmlEscap
對輸入的文字進行轉義防止注入攻擊的函數
deepClone深層復制一個對象
雖然現在已經有了Object.assign這樣的原生方法,但是有些地方還是要用到自己寫的。
用法:
deepClone(obj|array)//=>新的 obj|array
該方法不會拷貝原型的屬性。
addThrottle對元素的某個對象的事件添加節流閥
使用方法:
addThrottle({el, event, handler, model?=0, threshold?=250})
參數:
el:element對象
event:事件名稱
handler:監聽器處理函數默認參數為e即事件對象
model: 節流閥的模式,0為間隔模式(每次停止時再執行),1為頻率模式(比如threshold為250,則每秒發生4次。)
threshold?:可選的臨界值,數字,默認是250(目前是指定事件發生的間隔)
如果移除這個監聽的話直接使用元素對象的removeEvnetListener(event:string)就行了。
checkType 方法有isString
isNumber
isBoolean
isFunction
isNull
isUndefined
isObj
isArray
isDate
isRegExp
isSymbol
isPromise
isSet
isNaN
isFalse
isTrue
isIos
isPc
browserTypeIE11|Edge|FF|Opera|Safari|Chrome
CheckStr(str,type)常用驗證
type
phone 手機
tel 座機
card 身份證號
pwd 密碼/字母開頭長度6-18,只能包含字母數字下劃線
postal 郵政
email 郵箱
QQ qq號
URL 網址
money 小數點兩位金額
IP ip地址
date 日期
english 英文
chinese 中文
lower 小寫
upper 大寫
HTML html標簽
isCardID(sid) 嚴格身份證
parseTime解析2018-12-12 12:12:12或者2018-12-12此類的文字為Date對象。
sortObj/sortObjArraysortObj(舊)仍然可用,sorObjArray(新名字)。
sortObj/sortObjArray( arr:[obj], property:string|[string|{[prope:string]:boolean}], order:boolean = true, isPromise:boolean=false ):[objSorted]
參數:
arr:[obj] 對象數組,需要排序的目標
property:string|[string|{[prope:string]:boolean}] 要按排序的對象屬性名稱
order:string|boolen 排序的方向,true為從小到大s
isPromise:boolean = false 是否使用Promise模式,默認為false,注意,使用該參數時前面的order必須傳入。
使用場景1 想要排列一個對象數組,條件是根據這些對象中的某個屬性。
var seed = [ {name:"aaac",age: 12 }, {name:"ecc",age: 12 }, {name:"bccd",age: 12 }, {name:"wds",age: 12 }, {name:"esds",age: 12 }, {name:"esds",age: 9}, ]; // 根據名字從小到da排序 sortObjArrary(seed,"name") // 根據名字從大到小排序 sortObjArrary(seed,"name",false)
2 還是排序上面的數據,要求是,根據名字排序,如果名字相同則根據年齡排序
// 名字相同時根據年齡從小到大排序 sortObjArray(seed,["name","age"]) // 或者 sortObjArray(seed,["name",{age:true}]) // 名字相同時根據年齡從大到小排序 sortObjArray(seed,["name",{age:false}])
返回排序后的新的數組
對于對象數組根據其屬性進行排序的方法
download(url:string)下載文件
createDom(template:string)創建dom
createRandowWrods(length:number=15)生成指定長度的文字,最低為5個
clipFileExts(filename:string,keepDot:boolean=false)截取文件的后綴名
filename:文件名字
keepDot:是否保持點".",默認為false
小程序請求,結合promise使用axios風格
interface $request { (url: string | anyObj | $reqSet, config?: anyObj): PromisewxStore2get?(url: string, config?: any): Promise post?(url: string, data?: anyObj, config?: any): Promise put?(url: string, data?: anyObj, config?: any): Promise head?(url: string, config?: any): Promise options?(url: string, config?: any): Promise delete?(url: string, config?: any): Promise interceptors?: { request: { use(a: $interRequest, b?: $interRequesError): any }, response: { use(handle: $interResponse): any } } [name: string]: any }
小程序中store2風格的本地存儲
interface wxStore2 { (key?: any, data?: any): PromisecamelToUnderline 駝峰轉下劃線| void get(key: string): any set(key: string, data: any): any transact(key: string, data: Function): any clear(): void has(key: string): boolean remove(key: string): any getAll(): anyObj add(key: string, data: any): any keys(): any size(): number clearAll(): void isPromise: boolean nameSpace: string | undefined create(): $store2 }
camelToUnderline(str:string,sperator?="_"):stringunderlineToCamel 下劃線轉駝峰
underlineToCamel(str:string):string樣式
新整理了樣式關系
base-config.styl
基礎的設置,如顏色尺寸什么的。
theme.styl
風格主題
lib.styl
主要是一些函數
mixins.styl
mixin的一些樣式
reset.styl
瀏覽器樣式重置
index.styl
包含上述所有
libmix.styl
包含上述除了reset.styl和index.styl之外的所有。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97721.html
摘要:定義表格中的表注內容腳注樣式節標簽描述屬性定義文檔的樣式信息。原始值是由從對象下來的所有對象繼承的。方法通常由在后臺自動進行調用,而不是顯式地處于代碼中。 HTML常用標簽 其實在w3school上都有詳細的總結和描述,寫在這里是為了理清自己的思路,整理比較常用的標簽。原地址:http://www.w3school.com.cn/ta... //tag 基礎...
閱讀 903·2021-11-22 13:53
閱讀 2533·2021-10-15 09:40
閱讀 1001·2021-10-14 09:42
閱讀 3475·2021-09-22 15:59
閱讀 888·2021-09-02 09:47
閱讀 2368·2019-08-30 15:54
閱讀 1438·2019-08-29 17:14
閱讀 400·2019-08-29 15:15