精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

前端經(jīng)常會(huì)用到的JavaScript方法封裝

開(kāi)發(fā) 前端
前端經(jīng)常會(huì)用到的JavaScript方法封裝都有哪些呢?我們一起來(lái)看一下吧!

[[442941]]

 1.數(shù)組去重

 

  1. function unique1(arr) { 
  2.     return [...new Set(arr)] 
  3.  
  4. function unique2(arr) { 
  5.     var obj = {}; 
  6.     return arr.filter(ele => { 
  7.         if (!obj[ele]) { 
  8.             obj[ele] = true; 
  9.             return true; 
  10.         } 
  11.     }) 
  12.  
  13. function unique3(arr) { 
  14.     var result = []; 
  15.     arr.forEach(ele => { 
  16.         if (result.indexOf(ele) == -1) { 
  17.             result.push(ele) 
  18.         } 
  19.     }) 
  20.     return result; 

 

2.字符串去重

 

  1. String.prototype.unique = function () { 
  2.     var obj = {}, 
  3.         str = ''
  4.         len = this.length; 
  5.     for (var i = 0; i < len; i++) { 
  6.         if (!obj[this[i]]) { 
  7.             str += this[i]; 
  8.             obj[this[i]] = true
  9.         } 
  10.     } 
  11.     return str; 
  12.  
  13. ###### //去除連續(xù)的字符串  
  14. function uniq(str) { 
  15.     return str.replace(/(\w)\1+/g, '$1'

 

3.輸入一個(gè)值,返回其數(shù)據(jù)類(lèi)型

 

  1. function type(para) { 
  2.     return Object.prototype.toString.call(para) 

 

4.找出字符串中第一次只出現(xiàn)一次的字母

 

  1. String.prototype.firstAppear = function () { 
  2.     var obj = {}, 
  3.         len = this.length; 
  4.     for (var i = 0; i < len; i++) { 
  5.         if (obj[this[i]]) { 
  6.             obj[this[i]]++; 
  7.         } else { 
  8.             obj[this[i]] = 1; 
  9.         } 
  10.     } 
  11.     for (var prop in obj) { 
  12.        if (obj[prop] == 1) { 
  13.          return prop; 
  14.        } 
  15.     } 

 

5.深拷貝 淺拷貝

 

  1. //深克隆(深克隆不考慮函數(shù)) 
  2. function deepClone(obj, result) { 
  3.     var result = result || {}; 
  4.     for (var prop in obj) { 
  5.         if (obj.hasOwnProperty(prop)) { 
  6.             if (typeof obj[prop] == 'object' && obj[prop] !== null) { 
  7.                 // 引用值(obj/array)且不為null 
  8.                 if (Object.prototype.toString.call(obj[prop]) == '[object Object]') { 
  9.                     // 對(duì)象 
  10.                     result[prop] = {}; 
  11.                 } else { 
  12.                     // 數(shù)組 
  13.                     result[prop] = []; 
  14.                 } 
  15.                 deepClone(obj[prop], result[prop]) 
  16.     } else { 
  17.         // 原始值或func 
  18.         result[prop] = obj[prop] 
  19.     } 
  20.   } 
  21. return result; 
  22.  
  23. // 深淺克隆是針對(duì)引用值 
  24. function deepClone(target) { 
  25.     if (typeof (target) !== 'object') { 
  26.         return target; 
  27.     } 
  28.     var result; 
  29.     if (Object.prototype.toString.call(target) == '[object Array]') { 
  30.         // 數(shù)組 
  31.         result = [] 
  32.     } else { 
  33.         // 對(duì)象 
  34.         result = {}; 
  35.     } 
  36.     for (var prop in target) { 
  37.         if (target.hasOwnProperty(prop)) { 
  38.             result[prop] = deepClone(target[prop]) 
  39.         } 
  40.     } 
  41.     return result; 
  42. // 無(wú)法復(fù)制函數(shù) 
  43. var o1 = jsON.parse(jsON.stringify(obj1)); 

 

6.判斷元素有沒(méi)有子元素

 

  1. function hasChildren(e) { 
  2.     var children = e.childNodes, 
  3.         len = children.length; 
  4.     for (var i = 0; i < len; i++) { 
  5.         if (children[i].nodeType === 1) { 
  6.             return true
  7.         } 
  8.     } 
  9.     return false

 

7.返回當(dāng)前的時(shí)間(年月日時(shí)分秒)

 

  1. function getDateTime() { 
  2.     var date = new Date(), 
  3.         year = date.getFullYear(), 
  4.         month = date.getMonth() + 1, 
  5.         day = date.getDate(), 
  6.         hour = date.getHours() + 1, 
  7.         minute = date.getMinutes(), 
  8.         second = date.getSeconds(); 
  9.         month = checkTime(month); 
  10.         day = checkTime(day); 
  11.         hour = checkTime(hour); 
  12.         minute = checkTime(minute); 
  13.         second = checkTime(second); 
  14.      function checkTime(i) { 
  15.         if (i < 10) { 
  16.                 i = "0" + i; 
  17.        } 
  18.       return i; 
  19.     } 
  20.     return "" + year + "年" + month + "月" + day + "日" + hour + "時(shí)" + minute + "分" + second + "秒" 

 

8.兼容getElementsByClassName方法

 

  1. Element.prototype.getElementsByClassName = Document.prototype.getElementsByClassName = function (_className) { 
  2.     var allDomArray = document.getElementsByTagName('*'); 
  3.     var lastDomArray = []; 
  4.     function trimSpace(strClass) { 
  5.         var reg = /\s+/g; 
  6.         return strClass.replace(reg, ' ').trim() 
  7.     } 
  8.     for (var i = 0; i < allDomArray.length; i++) { 
  9.         var classArray = trimSpace(allDomArray[i].className).split(' '); 
  10.         for (var j = 0; j < classArray.length; j++) { 
  11.             if (classArray[j] == _className) { 
  12.                 lastDomArray.push(allDomArray[i]); 
  13.                 break; 
  14.             } 
  15.         } 
  16.     } 
  17.     return lastDomArray; 

 

9.封裝自己的forEach方法

 

  1. Array.prototype.myForEach = function (func, obj) { 
  2.     var len = this.length; 
  3.     var _this = arguments[1] ? arguments[1] : window; 
  4.     // var _this=arguments[1]||window; 
  5.     for (var i = 0; i < len; i++) { 
  6.         func.call(_this, this[i], i, this) 
  7.     } 

 

10.封裝自己的filter方法

 

  1. Array.prototype.myFilter = function (func, obj) { 
  2.     var len = this.length; 
  3.     var arr = []; 
  4.     var _this = arguments[1] || window; 
  5.     for (var i = 0; i < len; i++) { 
  6.         func.call(_this, this[i], i, this) && arr.push(this[i]); 
  7.     } 
  8.     return arr; 

 

11.封裝自己的數(shù)組map方法

 

  1. Array.prototype.myMap = function (func) { 
  2.     var arr = []; 
  3.     var len = this.length; 
  4.     var _this = arguments[1] || window; 
  5.     for (var i = 0; i < len; i++) { 
  6.         arr.push(func.call(_this, this[i], i, this)); 
  7.     } 
  8.     return arr; 

 

12.封裝自己的數(shù)組every方法

 

  1. Array.prototype.myEvery = function (func) { 
  2.     var flag = true
  3.     var len = this.length; 
  4.     var _this = arguments[1] || window; 
  5.     for (var i = 0; i < len; i++) { 
  6.         if (func.apply(_this, [this[i], i, this]) == false) { 
  7.             flag = false
  8.             break; 
  9.         } 
  10.     } 
  11.     return flag; 

 

13.封裝自己的數(shù)組reduce方法

 

  1. Array.prototype.myReduce = function (func, initialValue) { 
  2.     var len = this.length, 
  3.         nextValue, 
  4.         i; 
  5.     if (!initialValue) { 
  6.         // 沒(méi)有傳第二個(gè)參數(shù) 
  7.         nextValue = this[0]; 
  8.         i = 1; 
  9.     } else { 
  10.         // 傳了第二個(gè)參數(shù) 
  11.         nextValue = initialValue; 
  12.         i = 0; 
  13.     } 
  14.     for (; i < len; i++) { 
  15.         nextValue = func(nextValue, this[i], i, this); 
  16.     } 
  17.     return nextValue; 

 

14.獲取url中的參數(shù)

 

  1. function getWindonHref() { 
  2.     var sHref = window.location.href; 
  3.     var args = sHref.split('?'); 
  4.     if (args[0] === sHref) { 
  5.         return ''
  6.     } 
  7.     var hrefarr = args[1].split('#')[0].split('&'); 
  8.     var obj = {}; 
  9.     for (var i = 0; i < hrefarr.length; i++) { 
  10.         hrefarr[i] = hrefarr[i].split('='); 
  11.         obj[hrefarr[i][0]] = hrefarr[i][1]; 
  12.     } 
  13.     return obj; 

 

15.數(shù)組排序

 

  1. // 快排 [left] + min + [right
  2. function quickArr(arr) { 
  3.     if (arr.length <= 1) { 
  4.         return arr; 
  5.     } 
  6.     var left = [], 
  7.         right = []; 
  8.     var pIndex = Math.floor(arr.length / 2); 
  9.     var p = arr.splice(pIndex, 1)[0]; 
  10.     for (var i = 0; i < arr.length; i++) { 
  11.         if (arr[i] <= p) { 
  12.             left.push(arr[i]); 
  13.         } else { 
  14.             right.push(arr[i]); 
  15.         } 
  16.     } 
  17.     // 遞歸 
  18.     return quickArr(left).concat([p], quickArr(right)); 
  19.  
  20. // 冒泡 
  21. function bubbleSort(arr) { 
  22.     for (var i = 0; i < arr.length - 1; i++) { 
  23.         for (var j = i + 1; j < arr.length; j++) { 
  24.             if (arr[i] > arr[j]) { 
  25.                 var temp = arr[i]; 
  26.                 arr[i] = arr[j]; 
  27.                 arr[j] = temp
  28.             } 
  29.         } 
  30.     } 
  31.     return arr; 
  32.  
  33. function bubbleSort(arr) { 
  34.     var len = arr.length; 
  35.     for (var i = 0; i < len - 1; i++) { 
  36.         for (var j = 0; j < len - 1 - i; j++) { 
  37.             if (arr[j] > arr[j + 1]) { 
  38.                 var temp = arr[j]; 
  39.                 arr[j] = arr[j + 1]; 
  40.                 arr[j + 1] = temp
  41.             } 
  42.         } 
  43.     } 
  44.     return arr; 

 

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2019-12-16 15:37:57

JavaScript人生第一份工作瀏覽器

2021-09-02 08:40:10

程序員錯(cuò)誤

2015-04-08 09:54:41

OpenStack資源私有云部署

2021-06-06 16:52:11

工具函數(shù)JS

2012-05-29 13:34:39

2025-01-08 13:50:45

JavaScriptsplit

2010-04-23 10:30:17

Oracle移植

2019-02-13 14:58:43

cssjavascript前端

2021-08-11 17:22:11

設(shè)計(jì)模式單例

2011-08-31 16:01:33

2020-05-28 10:08:06

云計(jì)算Python編程語(yǔ)言

2024-09-05 13:02:41

2020-10-13 08:40:01

CSS多行多列布局

2011-07-07 17:27:54

PHP

2011-07-07 17:24:28

PHP

2019-03-14 15:40:13

JavaScript CSS 工具

2020-10-08 18:14:15

碼農(nóng)Git命令

2021-03-18 23:38:26

EqualsHashcode方法

2019-12-25 15:40:28

內(nèi)存Java虛擬機(jī)

2023-08-08 08:12:25

圖形編輯器幾何算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

好了av在线| 中文字幕有码无码人妻av蜜桃| 天堂久久av| 午夜电影网亚洲视频| 欧美精品在线一区| 亚洲系列第一页| 黑丝一区二区| 在线视频日韩精品| 久久av一区二区三| 日本成人伦理电影| 亚洲精品写真福利| 日本一区二区精品视频| 国内老熟妇对白hdxxxx| 美女视频一区免费观看| 欧美另类69精品久久久久9999| 黄色国产在线观看| 国产一区 二区| 色哟哟国产精品| 黄色a级片免费看| 成年人在线看| 99精品欧美一区二区三区综合在线| 国产成人一区二区三区| 欧美日韩免费做爰视频| 国产毛片一区二区三区| 精品久久久久香蕉网| 一道本视频在线观看| a国产在线视频| 亚洲欧美日韩国产综合在线| 欧美日韩亚洲在线| 六月婷婷综合网| 国内一区二区视频| 国产精品久久网| 天天干在线播放| 亚洲福利电影| 欧美情侣性视频| 日本黄区免费视频观看| 制服丝袜日韩| 日韩国产精品视频| 免费黄色三级网站| 精品一区二区三区四区五区| 欧美日韩在线亚洲一区蜜芽| 91看片就是不一样| 三级在线看中文字幕完整版| 午夜成人免费电影| 超碰成人免费在线| 日韩电影免费观看| 亚洲精品国产第一综合99久久 | 国产成人a人亚洲精品无码| 石原莉奈在线亚洲三区| 国产激情久久久久| 午夜精品免费观看| 日韩高清在线一区| 国产精品xxxxx| 青青草视频在线观看免费| 99国产精品自拍| 26uuu亚洲国产精品| 日韩aaaaaa| 国产欧美精品久久| 欧美专区国产专区| 手机在线看片1024| 丝瓜av网站精品一区二区| 国产91精品网站| 亚洲 日本 欧美 中文幕| 久久久久国产精品一区二区| 国产精彩精品视频| 在线观看xxxx| 国产综合色产在线精品| 97久久天天综合色天天综合色hd| www.天堂av.com| 成人精品高清在线| 久久精品欧美| 91网页在线观看| 自拍偷拍亚洲综合| 亚洲精品国产suv一区88| free性欧美16hd| 一区二区三区国产精品| 日韩av三级在线| 欧美最新精品| 6080午夜不卡| 伊人久久一区二区三区| 亚洲精品亚洲人成在线| 这里只有精品在线播放| 午夜免费激情视频| 国产精品久久久亚洲一区| 国产精品高清在线| 国产乱子伦精品无码码专区| 国产高清不卡一区二区| 久久久影院一区二区三区| 成人做爰www看视频软件| 不卡一区视频| 亚洲第一国产精品| 久久丫精品忘忧草西安产品| 99精品视频在线观看播放| 欧美巨乳在线观看| 手机看片久久久| 久久成人久久鬼色| 国产视频精品网| 电影av在线| 亚洲一区二区三区四区的| 黄色片久久久久| 白嫩亚洲一区二区三区| 亚洲精品在线不卡| 色欲一区二区三区精品a片| 最新成人av网站| 国产免费亚洲高清| 凸凹人妻人人澡人人添| 中文字幕一区二区不卡| 日本免费黄视频| 成人综合日日夜夜| 亚洲精品天天看| 国产黄色片在线免费观看| 美女网站久久| 成人欧美一区二区三区视频xxx| 成人性生交大片免费看午夜 | 中文日韩在线观看| 久久这里只有精品免费| 蜜桃视频在线观看一区二区| 国偷自产av一区二区三区小尤奈| 黄av在线播放| 欧美日韩一区二区三区四区五区 | 国产欧美日韩在线观看| 高清无码视频直接看| 久草综合在线| 亚洲欧美国内爽妇网| 美女的奶胸大爽爽大片| 日本va欧美va精品发布| 另类小说综合网| 不卡av免费观看| 欧美精品1区2区| 2019男人天堂| 久久久久久久高潮| 久久国产精品久久精品国产| 女同一区二区免费aⅴ| 欧美日产国产精品| 亚洲第一综合网| 久久av一区| 精品国产一区二区三区免费| 自拍亚洲图区| 欧美一区二区三级| 97在线观看免费高| 麻豆精品久久精品色综合| 欧美另类网站| 日韩在线影院| 国产午夜精品久久久| 日产精品久久久久久久| www.亚洲色图.com| 人妻av中文系列| baoyu135国产精品免费| 久久久亚洲影院你懂的| 亚洲女同志亚洲女同女播放| 亚洲精品国产品国语在线app| 日本美女久久久| 欧美91视频| 5g影院天天爽成人免费下载| 日本大胆在线观看| 欧美mv日韩mv| 国产乱码久久久久久| 国产98色在线|日韩| 日韩一区二区高清视频| 粉嫩精品导航导航| 91精品国产99| 久久这里精品| 在线观看视频一区二区欧美日韩| 免费看91的网站| 久久99精品久久久久| 波多野结衣三级在线| 色播一区二区| 97久久超碰福利国产精品…| 日本一区高清| 欧美揉bbbbb揉bbbbb| 182在线观看视频| 国产91露脸合集magnet| 777精品久无码人妻蜜桃| 色狼人综合干| 国产伦精品一区二区三区精品视频| 黄色网址在线免费| 亚洲成人激情视频| 久久精品久久久久久久| 国产精品福利一区二区三区| 日本成人在线免费| 先锋a资源在线看亚洲| 色姑娘综合网| 北条麻妃在线一区二区免费播放 | 亚洲高清国产拍精品26u| 久久av.com| 婷婷丁香一区二区三区| 欧美午夜宅男影院| a级片在线观看免费| 91在线精品一区二区| 污片在线免费看| 亚洲调教视频在线观看| 日韩欧美电影一区二区| 无人区乱码一区二区三区| 日本久久久久亚洲中字幕| 欧美猛烈性xbxbxbxb| 精品久久一区二区三区| 正在播放木下凛凛xv99| 亚洲国产综合在线| 调教驯服丰满美艳麻麻在线视频| 国产aⅴ精品一区二区三区色成熟| 亚洲精品高清无码视频| 精品福利av| 在线观看成人一级片| 欧美成人基地| 亚洲精品欧美一区二区三区| 老司机成人影院| 欧美极品美女电影一区| 2021av在线| 亚洲精品久久在线| 精品人妻少妇AV无码专区| 色就色 综合激情| 久草视频精品在线| 成人免费小视频| 国产免费一区二区三区网站免费| 国产 日韩 欧美大片| 向日葵污视频在线观看| 亚洲欧美日韩一区在线观看| 神马午夜伦理影院| 日本不卡免费一区| 久久精品aaaaaa毛片| 日韩亚洲精品在线观看| 91九色视频导航| 欧美va在线观看| 日本三级韩国三级久久| 爱情岛亚洲播放路线| 欧美成人免费播放| 日p在线观看| 这里只有视频精品| 国产在线视频资源| 亚洲精品乱码久久久久久金桔影视| xxxwww在线观看| 欧美挠脚心视频网站| 一二三区免费视频| 欧美日韩中文字幕在线| 久久在线视频精品| 亚洲一区在线视频观看| 欧美高清视频一区二区三区| 亚洲日韩欧美一区二区在线| 97精品在线播放| 国产精品视频你懂的| 久操视频在线观看免费| 日本一区二区三区在线观看| 国产在线观看无码免费视频| 91免费观看国产| 女人被狂躁c到高潮| 9久草视频在线视频精品| 最新版天堂资源在线| 成人动漫视频在线| www.555国产精品免费| 不卡欧美aaaaa| 黄色片视频免费观看| 97成人超碰视| 成年人网站免费看| 国产亚洲精品资源在线26u| 中文字幕丰满孑伦无码专区| 久久先锋资源网| 免费看黄色三级| 亚洲色图制服丝袜| 私库av在线播放| 亚洲国产精品一区二区久久| 成年免费在线观看| 日韩欧美中文字幕在线播放| 日本精品入口免费视频| 欧美日韩一区二区三区在线| 国产视频一二三四区| 精品国产制服丝袜高跟| 熟妇高潮一区二区三区| 亚洲人成电影网站| 在线观看黄av| 九色成人免费视频| 成人一级福利| 国产精品福利在线观看| 麻豆国产一区二区三区四区| 国产精品一区二区三区精品| 少妇一区二区三区| 亚洲国产一区二区在线| 综合一区av| 男人揉女人奶房视频60分| 日本中文字幕不卡| 性色av浪潮av| 久久综合久久综合久久| 69xxx免费| 亚洲综合激情网| 一级黄色av片| 欧美岛国在线观看| 激情在线视频| 美女久久久久久久久久久| 国产无遮挡裸体视频在线观看| 国产成人在线播放| 精品视频在线播放一区二区三区| 好看的日韩精品| 欧美激情偷拍自拍| 欧美日韩一道本| 精品亚洲成a人| 久久偷拍免费视频| 国产精品国产精品国产专区不片| 精品一区二区三区人妻| 欧美唯美清纯偷拍| 亚洲乱熟女一区二区| 在线观看欧美www| 成人一级福利| 91在线视频九色| 中文有码一区| 久久久久久久9| 美女性感视频久久| 国产偷人妻精品一区| 一区二区三区**美女毛片| 中国女人一级一次看片| 日韩h在线观看| 色呦呦呦在线观看| 国产美女精品视频| 国产欧美一区| 一本久道高清无码视频| 九一九一国产精品| 国产精品1000部啪视频| 亚洲综合区在线| 91国内精品视频| 亚洲最新av在线| 久久爱91午夜羞羞| 国产视色精品亚洲一区二区| 中文字幕一区二区三区在线视频 | 亚洲精品一区三区三区在线观看| 国产福利久久精品| 亚洲一区二区| 日韩欧美亚洲另类| 欧美激情一区二区在线| 在线观看 中文字幕| 日韩三级精品电影久久久| 日本中文字幕伦在线观看| 日韩av电影免费观看高清| 亚洲区小说区| 欧美日韩精品在线一区二区| 国产成人精品一区二区三区网站观看 | 亚洲欧美在线人成swag| 亚洲精品在线免费| 三级在线观看一区二区| 一级黄色片大全| 欧美视频在线观看免费| 天堂成人在线观看| 久久久久久69| 精品福利网址导航| 久久久久久人妻一区二区三区| 国产成人免费视频网站| 欧美三根一起进三p| 日韩午夜激情免费电影| 成人在线影视| αv一区二区三区| 国产精品久久| 欧美一区二区免费在线观看| 亚洲6080在线| 麻豆av电影在线观看| 国产成人黄色av| av亚洲免费| 911福利视频| 一区二区三区丝袜| 欧美一区二区三区成人片在线| 久久久久日韩精品久久久男男 | 日韩欧美一区二区视频在线播放 | 午夜久久一区| 中文字幕天堂av| 精品国产户外野外| 看电影就来5566av视频在线播放| 国产精品黄色影片导航在线观看| 日韩精品免费一区二区在线观看| 依人在线免费视频| 亚洲三级视频在线观看| 亚洲精品一级片| 97在线视频精品| 国产一区二区在线| 在线观看免费视频高清游戏推荐| 中文字幕色av一区二区三区| 不卡的日韩av| 26uuu亚洲伊人春色| 日韩精品一卡| 三级黄色片播放| 性感美女极品91精品| 国产三级视频在线| 成人乱色短篇合集| 亚洲精品国产日韩| 亚洲一级片在线播放| 欧美一级生活片| 中文字幕在线看片| 中文字幕日韩一区二区三区不卡| 国产激情一区二区三区| 97人人澡人人爽人人模亚洲| 亚洲视频一区二区| 午夜视频一区二区在线观看| 成年人视频观看| 亚洲人成网站在线| 色鬼7777久久| 亚洲精品日韩激情在线电影| 亚洲影院在线| 欧美日韩午夜视频| 日韩精品视频在线观看免费| 伊人久久大香伊蕉在人线观看热v| 欧美综合在线播放| 中文字幕一区二区三区乱码在线 | 久久久久久欧美| 日韩精品不卡一区二区| 538国产视频|