學習總結2:JS數組方法

一、slice和splice

? ? ? ? slice(start, end),該方法從原數組選取指定的元素,從start到end結束,返回一個新的數組

? ? ? ? splice(start, ?deleteCounts, ...items),該方法從原數組中刪除元素,或向原數組中插入元素,返回被刪除的項目(常用方法

? ??????let arr = [1,4,6,4,2,5]

? ??????arr.splice(1, 2, 3, 4)? ? // 從下標為1的位置開始刪除2個元素,并且插入元素3和元素4

? ? ? ? 返回被刪除的項目?(2)?[4, 6]

? ??????arr? ? // (6)?[1, 3, 4, 4, 2, 5]

二、join和split

? ??????arr.join('-')? ? //?"1-3-4-4-2-5"

? ??????"1-3-4-4-2-5".split('-')? ? //?(6)?["1", "3", "4", "4", "2", "5"]

三、push(常用)和pop,shift和unshift(這2組方法一一對應)

? ? ? ? push(...items),添加任意數量的參數到末尾,返回數組修改后的長度

? ? ? ? pop(),移除最后一項并返回移除項

? ? ? ? shift(),移除第一項并返回移除項

? ? ? ? unshift(...items),從數組開頭添加任意數量的參數,返回修改后的數組長度

四、sort排序,可接收一個自定義比較函數作為參數

五、reverse反轉,concat:該方法先創(chuàng)建一個原數組的副本,然后將參數添加到副本中,返回新數組,不改變原數組

六、indexOf和lastIndexOf,返回需要查找的項在數組中的位置,不存在則返回-1

PS:數組去重的時候,可以創(chuàng)建一個空數組,然后遍歷原數組,判斷每一項是否在新數組中存在,不存在則push到新數組中。另外可以轉為Set結構(ES6新增的數據集合,成為都是唯一的值)自動去重


/<-----ES6新增方法------>/

七、find()和findeIndex()

find(),接收一個回調函數作為參數,依次執(zhí)行該回調知道找出第一個返回值為true的成員,并返回該成員

findIndex(),與find類似,返回第一個滿足條件的成員的位置

八、includes(),是否包含給定的值,返回布爾值


數組遍歷:

九、forEach和map,相同點:接收一個回調函數,數組成員依次執(zhí)行。不同點:forEach沒有返回值,操作數組本身,可以改變原數組;map返回一個新數組,不改變原數組

十、filter,every,some。filter返回滿足條件的新數組,every當每一項都滿足時返回true,some當有一項滿足條件時返回true

/<-----ES6新增方法------>/

十一、for of,必須要部署了Symbol.iterator的數據結構,才能使用for of遍歷,包括:數組、Set和Map對象、類數組的對象(如arguments對象、DOM NodeList對象)、Generator對象以及字符串。

當然少不了我們最常見的for循環(huán),在數據量達到一定量級的時候,for循環(huán)速度更快,具有性能上的優(yōu)勢

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容