日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript数组你都掰扯不明白,简历上你敢写精通JavaScript?

發(fā)布時間:2023/12/10 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript数组你都掰扯不明白,简历上你敢写精通JavaScript? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

    • 一、如何判斷一個對象是不是數(shù)組?
    • 二、填充方法fill()
      • 1、ES6新增了兩個方法
      • 2、fill()
    • 三、復(fù)制方法```copyWithin()```
    • 四、棧方法
    • 五、隊列方法
    • 六、排序方法
    • 七、操作方法
    • 八、搜索和位置方法
      • 1、嚴格相當搜索
      • 2、斷言函數(shù)
    • 九、迭代方法
      • 1、every()和some()
      • 2、filter()
      • 3、map()
      • 4、foreach()
    • 十、歸并方法reduce()
      • ```為什么80%的碼農(nóng)做不了架構(gòu)師?>>>```
      • [Java專欄目錄 | 點擊這里](https://blog.csdn.net/guorui_java/article/details/120098618)
    • 十一、關(guān)注公眾號哪吒編程,回復(fù)1024,獲取Java學(xué)習(xí)資料,還有不定期的送書活動

一、如何判斷一個對象是不是數(shù)組?

在只有一個全局作用域的時候,使用instanceof操作符就足矣:

if(value instanceof Array){//操作數(shù)組 }

使用instanceof的前提是只有一個全局執(zhí)行上下文,如果網(wǎng)頁里有多個框架,則可能涉及兩個不同的全局上下文,因此就會有兩個不同版本的Array構(gòu)造函數(shù)。如果要把數(shù)組從一個框架傳到另一個框架,則這個數(shù)組的構(gòu)造函數(shù)將有別于第二個框架內(nèi)本地創(chuàng)建的數(shù)組。
為了解決這個問題,ECMAScript提供了 Array.isArray()方法。這個方法的目的就是確定一個值是否為數(shù)組,而不用管它是在哪個全局執(zhí)行上下文中創(chuàng)建的。

if(Array.isArray(value)){//操作數(shù)組 }

二、填充方法fill()

1、ES6新增了兩個方法

批量復(fù)制方法copyWithin(),以及填充數(shù)組方法fill()。
這兩個方法的函數(shù)比較類似,都需要指定既有數(shù)組實例上的一個范圍,包含開始索引,不包含結(jié)束索引,使用這個方法不會改變數(shù)組的大小。

2、fill()

使用fill()方法可以向一個已有的數(shù)組中插入全部或部分相同的值。開始索引用于指定開始填充的位置,它是可選的。如果不提供結(jié)束索引,則一直填充到數(shù)組末尾。負值索引從數(shù)組末尾開始計算。

例如:

(1)用1填充整個數(shù)組

const arr = [0,0,0,0,0]
arr.fill(1);//[1,1,1,1,1]
arr.fill(0);//[0,0,0,0,0]//重置為0

(2)用2填充索引大于等于2的元素

arr.fill(2,2);//[0,0,2,2,2]
arr.fill(0);//[0,0,0,0,0]//重置為0

(3)使用3填充索引大于等于1且小于3的元素

arr.fill(2,1,3);//[0,3,3,0,0]

(4)用4填充索引大于等于1且小于4的元素

arr.fill(4,-4,-1);//[0,4,4,4,0]

注意:fill()會自動忽略超出數(shù)組邊界、零長度及方向相反的索引范圍。

三、復(fù)制方法copyWithin()

copyWithin()會按照指定范圍淺復(fù)制數(shù)組中的部分內(nèi)容,然后將他們插入到指定索引開始的位置。

例如:

let arr,reset = () => arr = [0,1,2,3,4,5,6,7,8,9]; reset();

(1)從arr中復(fù)制索引5開始的內(nèi)容,插入到索引0開始的位置

arr.copyWithin(0,5);//[5,6,7,8,9,5,6,7,8,9]
reset();

//從arr中復(fù)制索引0開始到索引3結(jié)束的內(nèi)容,插入到索引4開始的地方

arr.copyWithin(4,0,3);//[0,1,2,3,0,1,2,7,8,9]

四、棧方法

ECMAScript給數(shù)組提供了相當于棧操作的方法。
棧是一種后進先出(LIFO,Last-In-First-Out)的結(jié)構(gòu),也就是最近添加的元素先被刪除。
插入push();
刪除pop();

五、隊列方法

隊列以先進先出(FIFO,First-In-First-Out)形式的結(jié)構(gòu)。
插入push();
取出shift();

六、排序方法

數(shù)組有兩個方法可以用來對元素進行重排序:

  • reverse()
  • sort()
  • 七、操作方法

    1、合并concat()
    2、切割slice()
    slice()用于創(chuàng)建一個包含原有數(shù)組中一個或多個元素的新數(shù)組。

    八、搜索和位置方法

    ECMAScript提供兩類搜索數(shù)組的方法,按嚴格相等搜索和按斷言函數(shù)搜索。

    1、嚴格相當搜索

    ECMAScript提供了3中嚴格相等的搜索方法:

  • indexOf()
  • lastIndexOf()
  • includes()
  • 2、斷言函數(shù)

  • find()
  • findIndex()
  • 九、迭代方法

    1、every()和some()

    every()對數(shù)組每一項都進行傳入的函數(shù),如果對每一項函數(shù)都返回true,則這個方法返回true。
    some()對數(shù)組每一項都運行傳入的函數(shù),如果有一項返函數(shù)返回true,則就返回true。
    例如:

    let nums = [1,2,3,4,5,4,3,2,1]; let ret = nums.every((item,index,array) => item > 2);//false ret = nums.some((item,index,array) => item > 2);//true

    2、filter()

    filter()是基于給定的函數(shù)來決定某一項是否應(yīng)該包含在它返回的數(shù)組中。
    比如,要返回一個所有元素都大于2的數(shù)組:
    let ret = nums.filter((item,index,array) => item>2);//[3,4,5,4,3]

    3、map()

    map()返回一個數(shù)組,這個數(shù)組的每一項都是原始數(shù)組中同樣位置的元素進行傳入函數(shù)而返回的結(jié)果。
    例如,對數(shù)組中的所有元素都乘以2:
    let ret = nums.map((item,index ,array) => item * 2);//[2,4,6,8,10,8,6,4,2]

    4、foreach()

    foreach()只會對每一項運行傳入的函數(shù),沒有返回值。本質(zhì)上foreach()就相當于for循環(huán)遍歷數(shù)組。

    nums.foreach((item,index,array) => {//執(zhí)行某些操作 });

    十、歸并方法reduce()

    reduce()對每一項都會運行的歸并函數(shù)。
    reduce()函數(shù)有四個參數(shù):

  • 上一個歸并值
  • 當前項
  • 當前項的索引
  • 數(shù)組本身
    這個函數(shù)返回的任何值都會作為下一次調(diào)用同一函數(shù)的第一個參數(shù)。如果沒有傳入可選的第二個參數(shù)(作為歸并起始點),則第一次迭代將從數(shù)組的第二項開始,因此傳遞歸并函數(shù)的第一個參數(shù)是數(shù)組的第一項,第二個參數(shù)是數(shù)組的第二項。
    可以使用reduce()對數(shù)組中所有值進行求和操作。
  • let nums = [1,2,3,4,5]; let ret = nums.reduce((prev,cur,index,array){return prev+cur; }); alert(ret);//15

    為什么80%的碼農(nóng)做不了架構(gòu)師?>>>

    Java專欄目錄 | 點擊這里

    十一、關(guān)注公眾號哪吒編程,回復(fù)1024,獲取Java學(xué)習(xí)資料,還有不定期的送書活動

  • JavaScript從入門到精通
  • Go語言從基礎(chǔ)到中臺微服務(wù)實戰(zhàn)開發(fā)
  • 微信小程序開發(fā)從入門到實戰(zhàn)
  • Python 編程技術(shù)手冊
  • 🍅 作者簡介:哪吒,CSDN2021博客之星亞軍🏆、新星計劃導(dǎo)師?、博客專家💪

    🍅 哪吒多年工作總結(jié):Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師

    🍅 關(guān)注公眾號【哪吒編程】,回復(fù)1024,獲取Java學(xué)習(xí)路線思維導(dǎo)圖、大廠面試真題、加入萬粉計劃交流群、一起學(xué)習(xí)進步


    下一篇:JavaScript看這一篇就夠了,簡單全面一發(fā)入魂

    總結(jié)

    以上是生活随笔為你收集整理的JavaScript数组你都掰扯不明白,简历上你敢写精通JavaScript?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久操视频在线播放 | 一区二区三区在线播放视频 | 欧美在线一级片 | 午夜a级片| 欧美性生活一区二区三区 | 成人精品久久久 | 无套爆插 | 亚州久久久 | 亚洲一区二区三区四区五区xx | 国产精品视频在线播放 | 999精品视频在线观看 | 三级在线观看网站 | 艳妇乳肉豪妇荡乳 | 欧美性猛交久久久久 | 日本不卡一区视频 | 99久久久成人国产精品 | 91精品视频观看 | 密桃成熟时在线观看 | 色一情一乱一伦 | 欧美 日韩 国产 成人 在线观看 | 三级亚洲| 娇小激情hdxxxx学生 | 美女福利视频在线观看 | 日批动态图 | 久久女人 | 99热视| 亚洲国产无 | 91口爆一区二区三区在线 | 免费看成人 | 青青伊人网 | 中文字幕一区二区三区四区五区 | 午夜一级大片 | www.日本在线观看 | 成人av网站在线播放 | 欧美jizz欧美性大全 | 国产片91 | 自拍偷拍精品视频 | jizz毛片| 欧美日本精品 | 无码精品一区二区三区在线 | 欧美七区 | 波多野结衣视频网址 | 国产精品视频一区二区三区在3 | 国产激情一区二区三区四区 | 亚洲一区二区在线视频 | 国产精品v亚洲精品v日韩精品 | 男人天堂资源网 | 国产精品成人久久久久久久 | 亚洲一区欧美二区 | 影音先锋中文字幕一区二区 | 欧美激情16p | 国产成人免费网站 | 麻豆爱爱 | 日本在线观看一区二区三区 | 国产精品一区久久 | 91丨九色丨蝌蚪丨老版 | 色天使在线视频 | www.亚洲国产 | 精品亚洲永久免费精品 | 色婷婷综合久久久久中文字幕 | 69福利视频 | 欧美日批视频 | 亚洲乱视频 | 亚洲成人av电影网站 | 欧美日韩午夜激情 | 国产精品乱码久久久久 | 天天爱天天色 | 日韩少妇中文字幕 | 日韩三级视频在线 | 香蕉视频官方网站 | 亚洲乱码在线 | 国产免费一区二区三区免费视频 | 亚洲性视频 | 今天高清视频在线观看视频 | 99久久99久久精品国产片 | 日本免费福利视频 | 国产成人精品无码免费看在线 | 黑丝扣逼| 欧美久久一级 | 色视频免费在线观看 | 国产成人精品电影 | 麻豆视频网| 欧美性生活一级 | 伊人网在线视频 | 在线观看免费的av | 中日韩男男gay无套 人人草人人干 | 日韩五月 | 午夜18视频在线观看 | 国产视频中文字幕 | 成人做爰69片免费 | 精品久久久av | 亚洲三级影院 | 色婷婷成人网 | 日韩视频在线观看一区二区三区 | 亚洲婷婷丁香 | 大尺度激情吻胸视频 | 久久久一区二区三区四区 | www.毛片com | 啪啪综合网 |