国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

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

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

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

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

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

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

1.forEach()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

標簽:
  • 熱門焦點
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
欧美日本国产视频| 精品中文字幕一区二区| 国产精品视频观看| 久久九九久精品国产免费直播| 亚州成人在线电影| 91麻豆免费在线观看| 欧美日韩国产美女| 天天操天天干天天综合网| 亚洲福利久久| 精品国产亚洲在线| 久久超碰97中文字幕| 免费日韩av| 亚洲特级片在线| a级精品国产片在线观看| 一本一本大道香蕉久在线精品 | 国产亚洲一区字幕| 国产精品一区2区| 在线日韩av片| 亚洲国产成人av网| 国模一区二区三区| 久久久久久麻豆| 国产999精品久久久久久绿帽| 欧美性色黄大片| 亚洲亚洲人成综合网络| 亚洲国产精品久久久久婷婷老年 | 国产精品videosex极品| 欧美日韩久久一区二区| 亚洲国产另类精品专区| 亚洲精品男同| 亚洲欧美综合网| 韩日视频一区| 国产喷白浆一区二区三区| 国产69精品久久99不卡| 欧美一三区三区四区免费在线看| 精品一区二区三区日韩| 欧美午夜不卡视频| 亚洲国产成人高清精品| 亚洲欧美不卡| 亚洲蜜臀av乱码久久精品蜜桃| 欧美女激情福利| 久久国产日本精品| 亚洲国产视频一区| 亚洲免费网址| 亚洲激情在线播放| 亚洲日本视频| 亚洲青青青在线视频| 狠狠色综合网站久久久久久久| 国产婷婷色一区二区三区四区| 99re在线精品| 国产人伦精品一区二区| 欧美.日韩.国产.一区.二区| 精品国产露脸精彩对白| 国产精品v欧美精品∨日韩| 亚洲夂夂婷婷色拍ww47| 欧美性色黄大片手机版| 岛国av在线一区| 国产精品久久久久久妇女6080| 亚洲欧美日韩视频二区| 国产一区二区在线影院| 久久色.com| 国产一区二区三区成人欧美日韩在线观看| 蜜臀av性久久久久蜜臀av麻豆| 欧美日韩精品综合在线| 欧美大片一区| 亚洲国产成人av网| 欧美中文字幕一区二区三区亚洲| 国产99一区视频免费| 亚洲视频在线一区二区| 欧美日韩中文字幕一区二区| 欧美一区高清| 视频在线在亚洲| 久久奇米777| 久久久蜜桃一区二区人| gogo大胆日本视频一区| 夜夜亚洲天天久久| 日韩一级精品视频在线观看| 亚洲大胆女人| 激情文学综合丁香| 中文字幕一区二区三区在线播放| 欧美在线观看视频在线| 欧美区一区二| 日日夜夜免费精品| 久久人人爽人人爽| 色悠悠亚洲一区二区| 欧美1区3d| 琪琪一区二区三区| 国产午夜精品一区二区三区四区| 男人天堂欧美日韩| 91视频在线观看免费| 天堂久久久久va久久久久| 国产丝袜在线精品| 欧美艳星brazzers| 在线看无码的免费网站| 国产精一区二区三区| 亚洲永久免费av| 久久久亚洲综合| 在线视频亚洲一区| 亚洲高清在线| 国产高清在线观看免费不卡| 夜夜嗨av一区二区三区| 精品久久久久久久久久久久包黑料 | 日韩高清一级片| 久久久亚洲综合| 欧美中文字幕不卡| 亚洲小说欧美另类婷婷| 国产精品伊人色| 亚洲精品免费播放| 久久精品夜色噜噜亚洲a∨ | 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美在线高清视频| 伊人天天综合| 高清在线观看日韩| 日韩高清一区二区| 最近日韩中文字幕| 欧美精品一区二区三区视频| 日本韩国视频一区二区| 韩国精品一区二区三区| 国产成人福利片| 日韩精品福利网| 亚洲视频在线观看三级| 欧美videofree性高清杂交| 久久综合精品一区| 最近看过的日韩成人| 97精品电影院| 久久国产综合精品| 亚洲一区二区3| 国产精品色一区二区三区| 欧美一级高清片在线观看| 日本乱人伦一区| 国产精品久久777777毛茸茸 | 激情综合五月婷婷| 亚洲国产成人精品视频| 国产精品久久久久久久久免费丝袜| 日韩精品在线一区| 欧美日韩亚洲不卡| 久久精品中文字幕一区二区三区| 亚洲天堂偷拍| 欧美精品1区| 波多野结衣中文一区| 国产伦精品一区二区三区免费迷 | 成人久久久精品乱码一区二区三区| 麻豆精品一区二区综合av| 亚洲成人精品一区| 亚洲欧美偷拍三级| 国产欧美一区视频| 精品国产乱码久久久久久闺蜜| 欧美欧美午夜aⅴ在线观看| 色婷婷综合激情| 蜜桃久久av| 翔田千里一区二区| 在线视频欧美一区| 亚洲精品1234| 亚洲精品日本| 亚洲精品影院| 亚洲一级网站| 在线观看欧美一区| 亚洲高清不卡一区| 亚洲电影自拍| 亚洲精品乱码视频| 一区二区三区欧美成人| 中国女人久久久| 国产亚洲欧美一区二区| 国产一区二区三区的电影| 日韩亚洲精品在线| 亚洲美女一区| 99精品视频网| 一本色道久久综合| 亚洲一卡久久| 另类图片国产| 久久中文精品| 欧美在线免费观看亚洲| 欧美日韩中文字幕精品| 欧美精品一二三| 日韩午夜电影av| 26uuu国产电影一区二区| 久久免费视频一区| 欧美国产精品专区| 综合久久国产九一剧情麻豆| 亚洲欧美国产77777| 亚洲午夜电影网| 日韩高清不卡一区二区| 久久成人18免费观看| 国产激情精品久久久第一区二区 | 亚洲在线一区二区三区| 亚洲一二三四在线| 亚洲电影一级黄| 免费在线观看视频一区| 国产一区欧美日韩| 波多野洁衣一区| 99精品热视频| 好看不卡的中文字幕| 一本色道久久综合亚洲精品婷婷| 亚洲一区网站| 欧美性受xxxx黑人xyx性爽| 欧美一区二区三区电影| 亚洲精品在线观看视频| 国产精品每日更新在线播放网址| 亚洲色图清纯唯美| 日韩在线卡一卡二| 国产精品99久久久久久宅男|