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

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

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

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

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

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

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

1.forEach()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    華為全新的HarmonyOS 4.0操作系統將于今天下午正式登場,官方在發布會之前也已經正式給出了可升級的機型產品,這意味著這些機型會率先支持升級享用。這次的HarmonyOS 4.0支持
  • 直屏旗艦來了 iQOO 12和K70 Pro同臺競技

    旗艦機基本上使用的都是雙曲面屏幕,這就讓很多喜歡直屏的愛好者在苦等一款直屏旗艦,這次,你們等到了。據博主數碼閑聊站帶來的最新爆料稱,Redmi下代旗艦K70 Pro和iQOO 12兩款手
  • Redmi Pad評測:紅米充滿野心的一次嘗試

    從Note系列到K系列,從藍牙耳機到筆記本電腦,紅米不知不覺之間也已經形成了自己頗有競爭力的產品體系,在中端和次旗艦市場上甚至要比小米新機的表現來得更好,正所謂“大丈夫生居
  • 跑分安卓第一!Redmi K60至尊版8月發布!盧偉冰:目標年度性能之王

    8月5日消息,Redmi K60至尊版將于8月發布,在此前舉行的戰略發布會上,官方該機將搭載搭載天璣9200+處理器,安兔兔V10跑分超177萬分,是目前安卓陣營最高的分數
  • Golang 中的 io 包詳解:組合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是對Reader和Writer接口的組合,
  • 從 Pulsar Client 的原理到它的監控面板

    背景前段時間業務團隊偶爾會碰到一些 Pulsar 使用的問題,比如消息阻塞不消費了、生產者消息發送緩慢等各種問題。雖然我們有個監控頁面可以根據 topic 維度查看他的發送狀態,
  • 企業采用CRM系統的11個好處

    客戶關系管理(CRM)軟件可以為企業提供很多的好處,從客戶保留到提高生產力。  CRM軟件用于企業收集客戶互動,以改善客戶體驗和滿意度。  CRM軟件市場規模如今超過580
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 2299元起!iQOO Pad開啟預售:性能最強天璣平板

    5月23日,iQOO如期舉行了新品發布會,除了首發安卓最強旗艦處理器的iQOO Neo8系列新機外,還在發布會上推出了旗下首款平板電腦——iQOO Pad,其搭載了天璣
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
欧美狂野另类xxxxoooo| 亚洲色图19p| 色94色欧美sute亚洲线路二 | 成人一区二区三区视频在线观看| 蜜桃av一区二区| 免费观看91视频大全| 免费高清在线一区| 麻豆国产精品777777在线| 美女视频免费一区| 久久99久久精品| 国产婷婷精品| 日韩免费成人网| 欧美电影免费观看高清完整版在| 91精品国产综合久久久久久| 欧美精品久久久久久久久老牛影院| 91官网在线观看| 69久久99精品久久久久婷婷| 欧美大度的电影原声| 久久久91精品国产一区二区精品 | 色天使色偷偷av一区二区 | 五月婷婷激情综合| 美日韩一级片在线观看| 国产精品一区二区免费不卡| 不卡的av电影| 色综合久久中文字幕| 成人在线视频一区二区| 欧美三级不卡| 久久激情中文| 日韩一级在线观看| 国产精品麻豆一区二区| 亚洲一区在线电影| 国产精品影音先锋| 欧美精品日韩| 91国产免费看| 欧美激情一区二区三区不卡| 亚洲国产成人av好男人在线观看| 国产综合色精品一区二区三区| 97se亚洲国产综合在线| 国产精品免费在线| 日韩视频在线一区二区| 亚洲欧美日韩久久精品| 激情久久久久久久久久久久久久久久| 成人国产精品免费观看动漫| 亚洲视频精品| 在线不卡一区二区| 亚洲视频香蕉人妖| 国产在线不卡视频| 伊人蜜桃色噜噜激情综合| 欧美日韩精品综合在线| 亚洲欧美日韩综合aⅴ视频| 久久99国产精品久久99 | 欧美日本乱大交xxxxx| 亚洲国产精品v| 麻豆精品在线看| 亚洲午夜电影| 日韩视频不卡中文| 亚洲第一电影网| 91丝袜呻吟高潮美腿白嫩在线观看| 美女图片一区二区| 国产精品久久看| 国产成人午夜电影网| 鲁鲁狠狠狠7777一区二区| 国产午夜精品一区二区| 久久99精品久久久久久国产越南 | 亚洲一区二区四区| 国产午夜久久久久| 韩国成人精品a∨在线观看| 亚洲精品欧洲| 久久久电影一区二区三区| 久久蜜桃精品| 国产亚洲一区二区在线观看| 免费在线看成人av| 国产精品xxx在线观看www| 制服视频三区第一页精品| 亚洲午夜在线观看视频在线| 97se亚洲国产综合自在线不卡| 色综合久久六月婷婷中文字幕| 国产精品美女久久久久久久 | 性欧美videos另类喷潮| 欧美国产视频在线| 成人福利电影精品一区二区在线观看| 91成人网在线| 亚洲风情在线资源站| 在线观看成人一级片| 国产日韩一级二级三级| 国产成a人亚洲精品| 欧美色倩网站大全免费| 日本伊人色综合网| 国产精品毛片在线| 亚洲在线免费播放| 国产精品一区二区你懂得| 亚洲日本va在线观看| 黄色精品网站| 日韩毛片高清在线播放| 精品福利电影| 亚洲六月丁香色婷婷综合久久 | 一区二区三区四区国产| 国产精品天美传媒| 国产精品v欧美精品∨日韩| 国产三级精品视频| 韩日成人av| 亚洲精品国产高清久久伦理二区| 亚洲电影在线| 一区二区三区在线免费观看 | 亚洲一区视频在线| 亚洲永久视频| 五月天中文字幕一区二区| 一本大道av伊人久久综合| 日韩精品电影一区亚洲| 色天天综合色天天久久| 精品中文字幕一区二区小辣椒| 欧美精品亚洲一区二区在线播放| 精品无人码麻豆乱码1区2区| 欧美一区二区三区免费视频| 成人午夜电影网站| 中文字幕+乱码+中文字幕一区| 国产精品99免费看| 亚洲在线中文字幕| 欧美日韩综合在线免费观看| 高清久久久久久| 国产精品热久久久久夜色精品三区| 欧美日韩调教| 午夜电影网一区| 制服丝袜亚洲播放| 午夜精品999| 亚洲一本大道在线| 欧美久久一区二区| 97精品久久久久中文字幕 | 在线播放日韩| 日韩制服丝袜av| 欧美一三区三区四区免费在线看 | 欧美日本免费一区二区三区| 成人黄色电影在线| 亚洲欧美激情一区二区| 91久久国产最好的精华液| 国产经典欧美精品| 亚洲欧美在线高清| 欧美在线观看18| 播五月开心婷婷综合| 亚洲精品v日韩精品| 欧美日韩一区二区三区高清| 欧美黄色一区| 丝袜诱惑制服诱惑色一区在线观看 | 日韩高清一区在线| 日韩精品一区二区在线| 雨宫琴音一区二区在线| 麻豆国产精品一区二区三区| 国产性做久久久久久| 奶水喷射视频一区| 成人aa视频在线观看| 亚洲国产视频网站| 久久人人超碰精品| 久色成人在线| 极品少妇一区二区三区| 国产一区二区三区国产| 亚洲精品国产a| 日韩视频免费观看高清完整版在线观看 | 粗大黑人巨茎大战欧美成人| 亚洲日穴在线视频| 日韩欧美国产精品一区| 国产精品一二| 色综合一区二区| 男人的j进女人的j一区| 国产精品久久久久一区二区三区 | 免费欧美日韩国产三级电影| 国产精品免费观看视频| 日韩欧美国产综合| 色婷婷久久99综合精品jk白丝| 欧美三区美女| 丁香一区二区三区| 蜜桃视频一区二区三区| 亚洲欧美另类小说| 国产欧美日韩在线| 91精品国产综合久久香蕉麻豆| 香蕉精品999视频一区二区 | 精品久久久久久最新网址| 欧洲在线/亚洲| 国产日韩一区二区三区| 欧美日韩综合另类| 波多野结衣中文字幕一区二区三区 | 日韩一区有码在线| 久久理论电影网| 欧美一级欧美三级| 欧美午夜精品久久久| 亚洲欧美日韩国产| 亚洲福利av| 好吊日精品视频| 欧美99久久| 欧美一区二区三区四区在线观看地址 | 国产午夜精品一区二区三区四区| 日韩欧美在线影院| 欧美猛男男办公室激情| 欧美唯美清纯偷拍| 久久久亚洲人| 久久欧美肥婆一二区| 麻豆久久精品| 久久av在线| 色婷婷精品久久二区二区蜜臀av| 久久这里有精品15一区二区三区| 六月丁香综合|