日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

十個可以手動編寫的 JavaScript 數組 API

來源: 責編: 時間:2023-08-05 11:44:30 5118觀看
導讀JavaScript 中有很多API,使用得當,會很方便,省力不少。 你知道它的原理嗎? 今天這篇文章,我們將對它們進行一次小總結。現在開始吧。1.forEach()forEach()用于遍歷數組接收一參數回調函數,并在回調函數中接收三個參數,分別

JavaScript 中有很多API,使用得當,會很方便,省力不少。 你知道它的原理嗎? 今天這篇文章,我們將對它們進行一次小總結。d0F28資訊網——每日最新資訊28at.com

d0F28資訊網——每日最新資訊28at.com

現在開始吧。d0F28資訊網——每日最新資訊28at.com

1.forEach()

forEach()用于遍歷數組接收一參數回調函數,并在回調函數中接收三個參數,分別代表每一項的值、下標和數組本身。d0F28資訊網——每日最新資訊28at.com

為了確保數組可以訪問我們自己手寫的API,它必須鏈接到數組的原型。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = [ { name: 'zt', age: 18 }, { name: 'aa', age: 19 }, { name: 'bb', age: 18 }, { name: 'cc', age: 21 },]//CodeArray.prototype.my_forEach = function (callback) { for (let i = 0; i < this. length; i++) { callback(this[i], i, this) }}//verifyarr.my_forEach((item, index, arr) => { //111 111 if (item. age === 18) { item.age = 17 return } console.log('111');})

2. map()

map()也用于數組遍歷,與forEach不同的是,它會返回一個新數組,這個新數組由回調函數map返回值接收。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = [ { name: 'zt', age: 18 }, { name: 'aa', age: 19 }, { name: 'bb', age: 18 }, { name: 'cc', age: 21 },]Array.prototype.my_map=function(callback){ const res=[] for(let i=0;i{ if(item.age>18){ return item }})console. log(newarr);//[ // undefined, // { name: 'aa', age: 19 }, // undefined, // { name: 'cc', age: 21 }//]

3. filter()

filter()用于過濾滿足條件的元素,并返回一個新數組。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = [ { name: 'zt', age: 18 }, { name: 'aa', age: 19 }, { name: 'bb', age: 18 }, { name: 'cc', age: 21 },]Array.prototype.my_filter = function (callback) { const res = [] for (let i = 0; i < this. length; i++) { callback(this[i], i, this) && res. push(this[i]) } return res}//verifylet newarr = arr.my_filter((item, index, arr) => { return item. age > 18})console.log(newarr); [ { name: 'aa', age: 19 }, { name: 'cc', age: 21 } ]

4. reduce()

reduce()用于將數組中的所有元素按照指定的規則進行合并計算,并返回一個最終值。d0F28資訊網——每日最新資訊28at.com

reduce() 接收兩個參數:回調函數、初始值(可選)。d0F28資訊網——每日最新資訊28at.com

回調函數中接收有四個參數:初始值或者存放最后一個回調函數的返回值、每一項的值、下標、數組本身。d0F28資訊網——每日最新資訊28at.com

如果沒有提供初始值,則從第二項開始,將第一個值作為第一次執行的返回值。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = [ { name: 'zt', age: 18 }, { name: 'aa', age: 19 }, { name: 'bb', age: 18 }, { name: 'cc', age: 21 },]Array.prototype.my_reduce = function (callback,...arg) { let pre,start=0 if(arg.length){ pre=arg[0] } else{ pre=this[0] start=1 } for (let i = start; i < this.length; i++) { pre=callback(pre,this[i], i, this) } return pre}//verifyconst sum = arr.my_reduce((pre, current, index, arr) => { return pre+=current.age},0) console.log(sum); //76

5. fill()

fill() 用于填充數組的所有元素,它會影響原始數組,返回原始數組的修改值。d0F28資訊網——每日最新資訊28at.com

fill() 接收三個參數:填充值、起始位置(默認為 0)、結束位置(默認為 this.length-1)。d0F28資訊網——每日最新資訊28at.com

左閉右開灌裝原理d0F28資訊網——每日最新資訊28at.com

當使用起始位置和結束位置時,它們默認填充整個數組。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

Array.prototype.my_fill = function (value,start,end) { if(!start&&start!==0){ start=0 } end=end||this.length for(let i=start;i ]6. includes()

想法:d0F28資訊網——每日最新資訊28at.com

include()用于判斷數組中是否存在元素,返回值true或falsed0F28資訊網——每日最新資訊28at.com

include() 提供第二個參數支持指定位置開始查找d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = ['a', 'b', 'c', 'd', 'e']Array.prototype.my_includes = function (item,start) { if(start<0){start+=this.length} for (let i = start; i < this. length; i++) { if(this[i]===item){ return true } } return false}//verifyconst flag = arr.my_includes('c',3) //The element to be searched, from which subscript to start searchingconsole.log(flag); //false

6. join()

join() 用于將數組中的所有元素連接成指定符號的一個字符串d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = ['a', 'b', 'c']Array.prototype.my_join = function (s = ',') { let str = '' for (let i = 0; i < this. length; i++) { str += `${this[i]}${s}` } return str. slice(0, str. length - 1)}//verifyconst str = arr. my_join(' ')console.log(str); //a b c

7. find()

find()用于返回數組中第一個滿足條件的元素,找不到元素返回undefined。d0F28資訊網——每日最新資訊28at.com

find()的參數是一個回調函數。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = [ { name: 'zt', age: 18 }, { name: 'aa', age: 19 }, { name: 'bb', age: 18 }, { name: 'cc', age: 21 },]Array.prototype.my_find = function (callback) { for (let i = 0; i < this.length; i++) { if(callback(this[i], i, this)){ return this[i] } } return undefined}//verifylet j = arr.my_find((item, index, arr) => { return item.age > 19 })console.log(j); //{ name: 'cc', age: 21 }

8. findIndex()

findIndex()用于返回數組中第一個滿足條件的,索引找不到返回-1d0F28資訊網——每日最新資訊28at.com

findIndex()的參數是一個回調函數。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = [ { name: 'zt', age: 18 }, { name: 'aa', age: 19 }, { name: 'bb', age: 18 }, { name: 'cc', age: 21 },]Array.prototype.my_findIndex = function (callback) { for (let i = 0; i < this.length; i++) { if(callback(this[i], i, this)){ return i } } return -1}let j = arr.my_findIndex((item, index, arr) => { return item.age > 19})console.log(j); //3

9. some()

元素 some() 用于檢查數組中指定的條件是否滿足。d0F28資訊網——每日最新資訊28at.com

如果有一個元素滿足條件,則返回 true,并且不會再檢查后面的元素。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = [ { name: 'zt', age: 18 }, { name: 'aa', age: 19 }, { name: 'bb', age: 18 }, { name: 'cc', age: 21 },]Array.prototype.my_some = function (callback) { for (let i = 0; i < this. length; i++) { if(callback(this[i], i, this)){ return true } } return false}//verifyconst flag = arr.some((item, index, arr) => { return item. age > 20})console.log(flag); //true

10. every()

every() 用于檢查所有元素是否都滿足指定條件。d0F28資訊網——每日最新資訊28at.com

如果有一個條件不滿足,則返回 false,后面的元素不會再執行。d0F28資訊網——每日最新資訊28at.com

代碼:d0F28資訊網——每日最新資訊28at.com

const arr = [ { name: 'zt', age: 18 }, { name: 'aa', age: 19 }, { name: 'bb', age: 18 }, { name: 'cc', age: 21 },]Array.prototype.my_every = function (callback) { for (let i = 0; i < this.length; i++) { if(!callback(this[i], i, this)){ return false } } return true}//verifyconst flag = arr.my_every((item, index, arr) => { return item.age > 16})console.log(flag); //true

寫在最后

以上就是我今天想與您分享的10個手動編寫的JS數組API的知識內容,如果對您有幫助的話,請記得點贊我,關注我,并將這個知識分享給您的朋友,也許能夠幫助到他。d0F28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-76-0.html十個可以手動編寫的 JavaScript 數組 API

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: K6:面向開發人員的現代負載測試工具

下一篇: 線程通訊的三種方法!通俗易懂

標簽:
  • 熱門焦點
  • 鴻蒙OS 4.0公測機型公布:甚至連nova6都支持

    華為全新的HarmonyOS 4.0操作系統將于今天下午正式登場,官方在發布會之前也已經正式給出了可升級的機型產品,這意味著這些機型會率先支持升級享用。這次的HarmonyOS 4.0支持
  • 5月iOS設備好評榜:iPhone 14僅排第43?

    來到新的一月,安兔兔的各個榜單又重新匯總了數據,像安卓陣營的榜單都有著比較大的變動,不過iOS由于設備的更新換代并沒有那么快,所以相對來說變化并不大,特別是iOS好評榜,老款設
  • 六大權益!華為8月服務日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務日也式開啟,到店可享六大專屬權益。華為用戶可在華為商城Ap
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了&mdash;&mdash;貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 拼多多APP上線本地生活入口,群雄逐鹿萬億市場

    Tech星球(微信ID:tech618)文 | 陳橋輝 Tech星球獨家獲悉,拼多多在其APP內上線了&ldquo;本地生活&rdquo;入口,位置較深,位于首頁的&ldquo;充值中心&rdquo;內,目前主要售賣美食相關的
  • 新電商三兄弟,“抖快紅”成團!

    來源:價值研究所作 者:Hernanderz 隨著內容電商的概念興起,抖音、快手、小紅書組成的&ldquo;新電商三兄弟&rdquo;成為業內一股不可忽視的勢力,給阿里、京東、拼多多帶去了巨大壓
  • 阿里大調整

    來源:產品劉有媒體報道稱,近期淘寶天貓集團啟動了近年來最大的人力制度改革,涉及員工績效、層級體系等多個核心事項,目前已形成一個初步的&ldquo;征求意見版&rdquo;:1、取消P序列
  • Android 14發布:首批適配機型公布

    5月11日消息,谷歌在今天凌晨舉行了I/O大會,本次發布會谷歌帶來了自家的AI語言模型PaLM 2、谷歌Pixel Fold折疊屏、谷歌Pixel 7a手機,同時發布了Androi
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續還將開展常態化登記。  北京科技教育體驗基
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久久亚洲国产美女国产盗摄| 欧美一级淫片aaaaaaa视频| 原创国产精品91| 亚洲欧洲三级| 亚洲综合欧美日韩| 久久黄色级2电影| 米奇777超碰欧美日韩亚洲| 欧美精品日韩精品| 国产女主播一区二区三区| 在线视频观看日韩| 在线视频亚洲| 久久精品亚洲一区二区三区浴池| 欧美成人精品h版在线观看| 国产精品草莓在线免费观看| 国产综合一区二区| 99精品欧美一区二区三区| 欧美怡红院视频一区二区三区| 免费永久网站黄欧美| 国产精品久久影院| 亚洲国产精品一区二区久| 亚洲欧美日韩精品| 欧美风情在线观看| 国产精品丝袜xxxxxxx| 亚洲激情电影中文字幕| 午夜精品影院| 欧美精品一区二区久久婷婷| 国产伦理一区| 亚洲乱码日产精品bd| 久久久久久久999精品视频| 欧美日韩亚洲综合一区| 黄色成人免费观看| 亚洲综合成人在线| 欧美激情精品久久久久久黑人| 国产日韩欧美在线看| 9色国产精品| 老司机一区二区三区| 国产欧美日韩亚洲| 亚洲特黄一级片| 欧美国产亚洲另类动漫| 黄色成人av| 性做久久久久久久免费看| 欧美日本免费| 136国产福利精品导航| 欧美一区二区三区啪啪| 欧美日韩一区二区三区在线看| 狠狠久久综合婷婷不卡| 亚洲欧美日韩在线一区| 欧美日韩国产va另类| 在线色欧美三级视频| 久久9热精品视频| 国产精品萝li| 一区二区三区av| 欧美第十八页| 亚洲国产精品久久久久久女王 | 午夜精品福利一区二区三区av| 欧美高清在线视频| 精品不卡一区| 久久精品国产久精国产一老狼| 国产精品美女黄网| 中国成人黄色视屏| 欧美欧美在线| 最近看过的日韩成人| 免费在线播放第一区高清av| 韩国av一区| 久久经典综合| 国产一区二区三区久久 | 欧美一级视频免费在线观看| 欧美三级第一页| 亚洲免费成人av电影| 欧美激情第8页| 亚洲国产一区二区三区青草影视| 久久久久久久久综合| 国产一区二区中文字幕免费看| 欧美一区二区成人| 国产日韩av在线播放| 午夜影院日韩| 国产毛片一区| 欧美一区二区三区在线视频| 国产精品色一区二区三区| 亚洲免费网站| 国产麻豆日韩欧美久久| 欧美一区国产二区| 国产亚洲欧美中文| 久久国产加勒比精品无码| 国产一区免费视频| 久久性天堂网| 亚洲国产中文字幕在线观看| 欧美国产先锋| 一本色道久久综合亚洲91| 欧美色欧美亚洲高清在线视频| 一区二区欧美激情| 国产精品久久久久国产精品日日| 亚洲一区自拍| 国产亚洲综合性久久久影院| 久久久九九九九| 亚洲黄色影院| 欧美日韩国产经典色站一区二区三区| 夜夜嗨av一区二区三区网站四季av| 欧美三级在线播放| 亚洲一区二区三| 国产欧美日韩视频在线观看| 久久久噜噜噜| 亚洲精品国产日韩| 国产精品久久久久国产a级| 午夜精品久久久99热福利| 国产日韩在线不卡| 久久婷婷影院| 日韩一级片网址| 国产精品久久久一本精品| 欧美在线视频免费| 亚洲高清av在线| 欧美视频在线观看免费| 欧美一区二区在线观看| 亚洲夫妻自拍| 国产精品久久久久久久久免费桃花| 欧美一区二视频在线免费观看| 在线观看欧美日韩| 欧美日韩精品福利| 欧美与黑人午夜性猛交久久久| 亚洲成人在线观看视频| 欧美日韩综合另类| 久久精品视频亚洲| 日韩视频在线一区二区三区| 国产美女诱惑一区二区| 欧美a级一区| 亚洲欧美精品| 亚洲激情另类| 国产欧美丝祙| 欧美精品一区二区三区在线播放 | 激情综合色丁香一区二区| 欧美裸体一区二区三区| 欧美一区二区免费| 亚洲精品国产系列| 国产视频综合在线| 欧美人与性动交cc0o| 久久超碰97人人做人人爱| 亚洲人成小说网站色在线| 国产精品一区二区你懂得 | 亚洲伊人久久综合| 亚洲成色777777女色窝| 国产精品亚洲片夜色在线| 欧美成人精品| 欧美综合国产精品久久丁香| 一本色道久久综合亚洲精品不卡| 国产综合色产| 国产精品高潮久久| 欧美成人午夜| 久久精品亚洲| 亚洲欧美激情诱惑| 亚洲日韩欧美视频| 国产综合欧美在线看| 欧美性大战久久久久| 牛牛影视久久网| 久久爱www久久做| 亚洲视频在线观看网站| 最新69国产成人精品视频免费 | 中文亚洲欧美| 亚洲日韩欧美一区二区在线| 国产欧美一区二区白浆黑人| 欧美日韩黄色大片| 你懂的国产精品永久在线| 欧美一区高清| 亚洲欧美日韩中文视频| 99精品国产福利在线观看免费| 在线国产日韩| 国产综合久久久久久| 国产九区一区在线| 欧美午夜性色大片在线观看| 欧美大胆成人| 美女精品视频一区| 久久久久久自在自线| 亚洲欧美影音先锋| 亚洲素人一区二区| 99综合电影在线视频| 亚洲精品国产精品乱码不99| 在线观看日产精品| 国内精品模特av私拍在线观看 | 一区二区黄色| 99国产精品99久久久久久粉嫩| 91久久线看在观草草青青| 伊人成人在线| 激情一区二区三区| 国产真实久久| 国产亚洲欧美另类中文| 国产精品一区二区久久精品| 国产精品久久久久aaaa九色| 欧美日韩亚洲一区三区| 欧美久久精品午夜青青大伊人| 蜜桃久久av| 男女视频一区二区| 欧美成ee人免费视频| 免费视频一区| 米奇777超碰欧美日韩亚洲| 狂野欧美激情性xxxx欧美| 久久视频在线视频| 久久在线视频| 久久综合五月天婷婷伊人| 浪潮色综合久久天堂| 看欧美日韩国产| 欧美mv日韩mv国产网站| 欧美a级大片| 欧美久久久久中文字幕| 欧美日韩精品一区二区在线播放| 欧美日韩精品免费|