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

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

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

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

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

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

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

1.forEach()

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

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

代碼:GqL28資訊網——每日最新資訊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返回值接收。GqL28資訊網——每日最新資訊28at.com

代碼:GqL28資訊網——每日最新資訊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()用于過濾滿足條件的元素,并返回一個新數組。GqL28資訊網——每日最新資訊28at.com

代碼:GqL28資訊網——每日最新資訊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()用于將數組中的所有元素按照指定的規則進行合并計算,并返回一個最終值。GqL28資訊網——每日最新資訊28at.com

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

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

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

代碼:GqL28資訊網——每日最新資訊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() 用于填充數組的所有元素,它會影響原始數組,返回原始數組的修改值。GqL28資訊網——每日最新資訊28at.com

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

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

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

代碼:GqL28資訊網——每日最新資訊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()

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

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

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

代碼:GqL28資訊網——每日最新資訊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() 用于將數組中的所有元素連接成指定符號的一個字符串GqL28資訊網——每日最新資訊28at.com

代碼:GqL28資訊網——每日最新資訊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。GqL28資訊網——每日最新資訊28at.com

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

代碼:GqL28資訊網——每日最新資訊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()用于返回數組中第一個滿足條件的,索引找不到返回-1GqL28資訊網——每日最新資訊28at.com

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

代碼:GqL28資訊網——每日最新資訊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() 用于檢查數組中指定的條件是否滿足。GqL28資訊網——每日最新資訊28at.com

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

代碼:GqL28資訊網——每日最新資訊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() 用于檢查所有元素是否都滿足指定條件。GqL28資訊網——每日最新資訊28at.com

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

代碼:GqL28資訊網——每日最新資訊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的知識內容,如果對您有幫助的話,請記得點贊我,關注我,并將這個知識分享給您的朋友,也許能夠幫助到他。GqL28資訊網——每日最新資訊28at.com

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

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

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

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

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产亚洲一区在线播放| 免费亚洲电影| 国产精品99久久不卡二区| 亚洲国产高清自拍| 日韩视频三区| 欧美亚洲系列| 免费一级欧美片在线观看| 欧美日韩18| 国产农村妇女精品| 亚洲国产日韩欧美| 亚洲永久网站| 久久综合图片| 国产精品进线69影院| 激情视频亚洲| 一区二区三区免费网站| 欧美一区二区久久久| 米奇777在线欧美播放| 国产精品夫妻自拍| 在线观看一区视频| 亚洲一区在线观看免费观看电影高清| 久久精品夜色噜噜亚洲a∨| 欧美精品一区二区三区视频| 国产日韩欧美视频在线| 99国产精品视频免费观看| 久久精品91久久香蕉加勒比| 欧美日本韩国| 一区二区三区在线免费视频| 亚洲永久在线| 欧美国产免费| 国产三区二区一区久久| 日韩一本二本av| 久久久久国产精品一区三寸| 国产精品www| 亚洲国产精品一区二区第四页av| 性视频1819p久久| 欧美日韩精品一区| 在线观看日韩一区| 欧美在线亚洲在线| 欧美性色视频在线| 亚洲欧洲在线看| 久久久免费观看视频| 国产精品裸体一区二区三区| 亚洲电影观看| 久久精品成人| 国产精品女主播一区二区三区| 亚洲精选视频免费看| 久久久xxx| 国产欧美日韩高清| 亚洲视频在线免费观看| 欧美高清影院| 在线观看欧美日韩| 久久精品一区二区三区不卡| 国产精品日日摸夜夜添夜夜av| 日韩视频一区| 欧美成人亚洲成人| 在线成人欧美| 久久久精品网| 国产欧美日韩亚洲| 亚洲网站在线看| 欧美三级电影网| 99re国产精品| 欧美伦理a级免费电影| 1000部精品久久久久久久久| 久久精品视频免费| 国产一本一道久久香蕉| 午夜在线精品偷拍| 国产精品一区二区你懂得| 亚洲一区二区三区777| 欧美午夜精品久久久久久超碰| 亚洲精品中文字幕在线观看| 欧美va亚洲va香蕉在线| 在线成人中文字幕| 久久综合色婷婷| 亚洲国产99精品国自产| 快播亚洲色图| 亚洲高清免费| 欧美大片专区| 蜜桃精品久久久久久久免费影院| 国产一区二区0| 欧美一区二区三区在线看| 国产精品永久免费| 午夜精品一区二区三区四区| 国产精品久久久久9999吃药| 夜夜嗨av一区二区三区四区| 欧美激情一区二区三区不卡| 亚洲精品美女在线观看播放| 欧美国产综合视频| 亚洲精品一区二| 欧美日韩精品系列| 亚洲校园激情| 国产麻豆成人精品| 久久国产免费看| 精品1区2区| 欧美va亚洲va国产综合| 亚洲精品视频在线观看网站| 欧美剧在线免费观看网站| 夜夜爽99久久国产综合精品女不卡| 欧美日韩视频在线一区二区| 亚洲一区999| 国产日韩精品一区二区三区| 久久久天天操| 亚洲区一区二| 欧美网站大全在线观看| 午夜久久电影网| 激情自拍一区| 欧美激情视频网站| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品亚洲不卡a| 久久久久成人精品免费播放动漫| 在线欧美三区| 欧美日韩久久精品| 午夜一区二区三区不卡视频| 国产综合在线视频| 欧美国产精品一区| 亚洲免费网址| 在线精品亚洲一区二区| 欧美日韩极品在线观看一区| 亚洲一区二区影院| 狠狠v欧美v日韩v亚洲ⅴ| 欧美韩日一区| 亚洲欧美日韩爽爽影院| 激情久久影院| 欧美日韩你懂的| 欧美专区日韩视频| 亚洲精品视频在线看| 国产精品日韩欧美大师| 久色成人在线| 亚洲性感美女99在线| 韩日成人av| 欧美日韩日韩| 久久久免费精品| 99精品国产福利在线观看免费| 国产农村妇女毛片精品久久麻豆 | 久久精品国产69国产精品亚洲| 亚洲第一免费播放区| 国产精品久久久久久久久借妻| 久久久久久夜| 亚洲一级片在线观看| 又紧又大又爽精品一区二区| 欧美午夜片在线观看| 噜噜爱69成人精品| 亚洲欧美日韩一区| 亚洲激情校园春色| 国产喷白浆一区二区三区| 欧美韩日高清| 久久久精品久久久久| 亚洲色图制服丝袜| 在线观看欧美黄色| 国产精品一级在线| 欧美紧缚bdsm在线视频| 久久精品人人做人人爽电影蜜月| 洋洋av久久久久久久一区| 国户精品久久久久久久久久久不卡| 欧美日韩国产精品一区二区亚洲| 久久久精品五月天| 亚洲直播在线一区| 亚洲日韩欧美视频| 好吊视频一区二区三区四区 | 国产亚洲一区二区三区在线播放| 欧美日韩国产成人| 久久综合伊人| 欧美一区二区在线| 亚洲香蕉伊综合在人在线视看| 亚洲破处大片| 影音先锋亚洲精品| 国产欧美精品| 国产精品v片在线观看不卡 | 精品av久久707| 国产日韩精品视频一区二区三区| 欧美日韩一区二区三区免费看 | 国产日韩欧美亚洲一区| 欧美视频一区二区在线观看| 欧美a一区二区| 久久久久久久高潮| 午夜亚洲福利在线老司机| 一区二区三区视频免费在线观看| 亚洲激情在线视频| 在线精品一区| 一区二区在线观看视频| 国产亚洲精品一区二区| 国产精品永久免费| 国产精品欧美日韩一区二区| 欧美日韩免费在线观看| 欧美精品三级| 欧美高清一区二区| 欧美成人精品不卡视频在线观看 | 国产精品久久久一本精品| 欧美日韩综合在线| 欧美日韩午夜视频在线观看| 欧美激情aaaa| 欧美精品xxxxbbbb| 欧美激情一区二区三区| 欧美国产激情| 欧美精品偷拍| 欧美日韩喷水| 欧美三级特黄| 国产精品九九久久久久久久| 欧美午夜电影网| 国产精品理论片| 国产精品自拍三区| 国产一二精品视频| 黄色综合网站| 在线精品视频免费观看| 亚洲福利av|