日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript常用工具函數(shù)庫匯總

瀏覽:197日期:2023-10-14 11:00:31

對象或數(shù)組的深拷貝

/** * 對象或數(shù)組的深拷貝 * @param {*} cloneObj 被克隆的對象 * @param {*} targetObj 克隆的目標(biāo)對象 * @param {*} isOverride 若屬性重復(fù),是否覆蓋被克隆對象的屬性 */function deepClone(cloneObj, targetObj, isOverride = true) { const _toString = Object.prototype.toString if (_toString.call(cloneObj) !== ’[object Array]’ && _toString.call(cloneObj) !== ’[object Object]’) { return cloneObj } var cloneTarget = _toString.call(cloneObj) === ’[object Array]’ ? [] : {} for (let key in cloneObj) { if (Object.prototype.hasOwnProperty.call(cloneObj, key)) { if (_toString.call(cloneObj[key]) === ’[object Array]’ || _toString.call(cloneObj[key]) === ’[object Object]’) { cloneTarget[key] = deepClone(cloneObj[key]) } else { cloneTarget[key] = cloneObj[key] } } } if (targetObj && (_toString.call(cloneObj) === _toString.call(targetObj))) { //這里要注意,克隆的目標(biāo)對象也要deepClone下 cloneTarget = isOverride ? Object.assign(cloneTarget, deepClone(targetObj)) : Object.assign(deepClone(targetObj), cloneTarget) } return cloneTarget}

精準(zhǔn)判斷數(shù)據(jù)類型

//精準(zhǔn)判斷數(shù)據(jù)類型function getVerifyDataTypes() { const types = ['String', 'Number', 'Boolean', 'Null', 'Undefined', 'Function', 'Object', 'Array', 'Date', 'Error', 'RegExp', 'Symbol', 'Map', 'Set'] let Type = {} // 示例用法:Type.isString(’javascript’) for (let i = 0; i < types.length; i++) { Type[`is${types[i]}`] = obj => Object.prototype.toString.call(obj) === `[object ${types[i]}]` } // 判斷字符串是否為json格式 Type.isJsonStr = str => { if (typeof str == ’string’) { try { let obj = JSON.parse(str); if (obj && typeof obj == ’object’) { return true; } return false; } catch (e) { return false; } } else { return false; } } return Type}

日期格式化

/** * 日期格式化 * @param {*} date 日期對象 * @param {*} beforeHyphen 年月日連字符 * @param {*} afterHyphen 時(shí)分秒連字符 */function formatDate(date = new Date(), beforeHyphen = ’-’, afterHyphen = ’:’) { const formatNumber = n => { n = n.toString() return n[1] ? n : `0${n}` } const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() const ymd = [year, month, day].map(formatNumber).join(beforeHyphen) const hms = [hour, minute, second].map(formatNumber).join(afterHyphen) return `${ymd} ${hms}`}

把時(shí)間戳轉(zhuǎn)換為剩余的天、時(shí)、分、秒

/** * 把時(shí)間戳轉(zhuǎn)換為剩余的天、時(shí)、分、秒,一般應(yīng)用于倒計(jì)時(shí)場景中 * @param {*} timestamp 時(shí)間戳 */function converTimestamp(timestamp) { const formatNumber = n => { n = n.toString() return n[1] ? n : `0${n}` } let day = Math.floor((timestamp / 1000 / 3600) / 24); let hour = Math.floor((timestamp / 1000 / 3600) % 24); let minute = Math.floor((timestamp / 1000 / 60) % 60); let second = Math.floor(timestamp / 1000 % 60); return { day: day, hour: formatNumber(hour), minute: formatNumber(minute), second: formatNumber(second) }}

從數(shù)組中隨機(jī)取出一項(xiàng)

// 從數(shù)組中隨機(jī)取出一項(xiàng)function getRandomItemByArray(items) { return items[Math.floor(Math.random() * items.length)];}

將有父子關(guān)系的數(shù)組轉(zhuǎn)換成樹形結(jié)構(gòu)數(shù)據(jù)

let data = [ { parentId: 0, id: 1, value: ’xxx’ }, { parentId: 1, id: 3, value: ’xxx’ }, { parentId: 4, id: 6, value: ’xxx’ }, { parentId: 3, id: 5, value: ’xxx’ }, { parentId: 2, id: 4, value: ’xxx’ }, { parentId: 1, id: 2, value: ’xxx’ },]// 轉(zhuǎn)換為樹形Array結(jié)構(gòu)function toTreeAry(arr, pId = 0) { return arr .filter(({ parentId }) => parentId === pId) .map(a => ({ ...a, children: toTreeAry(arr.filter(({ parentId }) => parentId !== pId), a.id) }))}// 轉(zhuǎn)換為樹形Object結(jié)構(gòu)function toTreeObj(arr, pId = 0) { let res = {} arr.filter(({ parentId }) => parentId === pId) .forEach(a => { res[a.id] = { ...a, children: toTreeObj(arr.filter(({ parentId }) => parentId !== pId), a.id) } }) return res}console.log(toTreeAry(data))console.log(toTreeObj(data))

生成隨機(jī)字符串

// 隨機(jī)字符串const randomStr = () => { return new Date().getTime() + ’-’ + Math.random().toString(36).substr(2)}

過濾html標(biāo)簽

// 過濾html標(biāo)簽const filterHTMLTag = (str) => { str = str.replace(/</?[^>]*>/g, ’’); //去除HTML Tag str = str.replace(/[|]*n/, ’’) //去除行尾空格 str = str.replace(/&npsp;/ig, ’’); //去掉npsp return str;}

以上就是JavaScript常用工具函數(shù)庫匯總的詳細(xì)內(nèi)容,更多關(guān)于JavaScript工具函數(shù)庫的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一级精品| 日本aⅴ亚洲精品中文乱码| 国产精品黄网站| 日韩精品一级中文字幕精品视频免费观看 | 蜜桃视频欧美| 欧美亚洲激情| 99国产精品| 中文字幕亚洲影视| 亚洲精品九九| 日本午夜精品| 欧美精品二区| 中文字幕在线视频久| 欧美片第1页| 免费观看久久av| 欧美日韩国产亚洲一区| 亚洲欧洲午夜| 日韩有吗在线观看| 国产精品一区二区中文字幕| 精品99久久| 秋霞国产精品| 亚洲专区一区| 国产欧美自拍| 福利一区二区三区视频在线观看| 精品国产免费人成网站| 99精品一区| 视频一区二区国产| 欧美片第1页综合| 国产精品成久久久久| 91精品推荐| 亚洲性视频在线| 国产精品一页| 久久免费高清| 蜜臀a∨国产成人精品| 日韩激情啪啪| 成人在线视频免费| 美女网站一区| 欧美在线看片| 在线看片国产福利你懂的| 久久久久99| 一区二区国产在线观看| 欧美极品中文字幕| 91精品一区二区三区综合| 丝袜诱惑制服诱惑色一区在线观看 | 天堂va在线高清一区| 久久国际精品| zzzwww在线看片免费| 欧美日韩国产高清电影| 日韩精品中文字幕吗一区二区| 嫩草伊人久久精品少妇av杨幂| 久久性天堂网| 美女视频黄 久久| 久久视频一区| 日韩激情精品| 国产在线|日韩| 日韩亚洲精品在线观看| 中文字幕在线高清| 少妇精品久久久| 国产在线看片免费视频在线观看| re久久精品视频| 国产经典一区| 欧美日韩免费观看一区=区三区| 久久国产精品免费一区二区三区| 91精品亚洲| 国产精品xxx在线观看| 欧美特黄视频| 高清精品久久| 日韩欧美激情电影| 亚洲二区免费| 欧美成人精品一级| 免费日韩av片| 成人片免费看| 国产精品手机在线播放| 中文一区二区| 久久男人av资源站| 青草久久视频| 欧美日韩视频| 国产高清不卡| 国产另类在线| 中文字幕日韩亚洲| 欧美亚洲激情| а√天堂8资源在线| 国产精品色婷婷在线观看| 爽好多水快深点欧美视频| 日韩欧美精品综合| 国产精品一卡| 亚洲精品护士| 在线亚洲观看| 国产91精品对白在线播放| 精品国产网站| 国产伦精品一区二区三区千人斩| 国产偷自视频区视频一区二区| 98精品久久久久久久| 欧美日韩亚洲一区在线观看| 亚洲精品高潮| 欧美精品九九| 国产专区一区| 久久久久一区| 亚洲女同av| 精品日本视频| 你懂的亚洲视频| 久久国内精品| 青青伊人久久| 视频精品一区| 一区二区精彩视频| 视频一区中文字幕国产| 激情丁香综合| 韩国精品主播一区二区在线观看| 狠狠久久伊人中文字幕| 麻豆一区二区99久久久久| 欧美日韩视频免费看| 日韩精品欧美大片| 亚洲婷婷丁香| 亚洲精品动态| 亚洲天堂日韩在线| 综合激情一区| 婷婷精品在线| 日本va欧美va精品| 日韩精品社区| 91久久精品无嫩草影院| 日本特黄久久久高潮| 亚洲精品综合| 日韩黄色大片网站| 午夜精品成人av| 欧洲在线一区| 国产一区久久| 好看的av在线不卡观看| 精品1区2区3区4区| 国产中文欧美日韩在线| 国产精品成人a在线观看| 中文字幕在线官网| 久久国产电影| 狠狠久久婷婷| 亚洲专区在线| 亚洲欧美日本国产| 日本91福利区| 国产欧美日韩一区二区三区在线| 日韩高清一区| 国产欧美日韩免费观看| 久久国产精品免费精品3p| 国产精品一区二区美女视频免费看 | 日韩精品亚洲aⅴ在线影院| 日韩精品亚洲专区| 国产精品九九| 色婷婷亚洲mv天堂mv在影片| 亚洲www啪成人一区二区| 久久国产电影| 久久一二三区| 国产视频一区二| 久久永久免费| 日韩精品1区| 好看的亚洲午夜视频在线| 亚洲精品激情| 国产视频亚洲| 欧美中文一区| 激情视频网站在线播放色| 亚洲国内欧美| 日本一区二区中文字幕| 久久久久观看| 亚洲大全视频| 少妇精品在线| 精品网站aaa| 欧美成人国产| 日韩三级久久| 国内一区二区三区| 精品欧美激情在线观看| 午夜视频一区二区在线观看| 国产日韩一区| 午夜av成人| 日韩精品中文字幕一区二区| 成人国产精品| 日韩在线观看一区二区| 国产精品qvod| 亚洲福利国产| 欧美视频精品全部免费观看| 欧洲亚洲一区二区三区| 中文字幕日韩亚洲| 成人精品久久| 综合精品一区| 92国产精品| 中文字幕日韩欧美精品高清在线| 久久精品系列| 在线亚洲成人| 精品久久久久久久| 99视频一区| 精品视频高潮| 亚洲欧美久久久| 国产成人精品一区二区三区视频| 亚洲免费观看| 成人在线免费观看网站| 日韩中文字幕不卡| 国产精品久久久久久久免费观看| 欧美特黄视频| 精品91福利视频| 天堂俺去俺来也www久久婷婷| 日韩欧美一区二区三区免费观看| 日韩免费精品| 国产一区欧美| 国产一区二区色噜噜| 最近国产精品视频| 日韩精品永久网址|