陣列常用的API詳解及使用小技巧相關筆記(一)

2022-08-27 02:09:11 字數 2437 閱讀 7948

1.陣列的棧和堆特性

◆進棧 push() 可以一次性放多個引數,內部是使用 遍歷argument偽陣列來存的,使用push方法是將資料存陣列的最末項,存進去之後會返回當前陣列的長度,出棧pop() 可以從陣列的最末尾取出乙個陣列元素並且返回,但是也會把這個陣列元素移除原陣列。

◆進佇列 unshift() 可以一次性放多個引數,是將元素存到陣列的最前面,存進去之後會返回陣列的長度,出佇列shift()可以從陣列的最前面的元素返回,但是也會把這個取出來的陣列元素移除原陣列。

2.陣列自帶的反轉與排序特性

◆陣列的reverse(),內部使用的是for迴圈遍歷前後項陣列元素交換,對原陣列有影響。

◆陣列的sort(),內部預設使用的排序方法是首字母的unicode碼,也就是比較ascll碼表中的ascll碼,你可以通過傳遞規則或者行為來改變排序規則,其實就是傳遞乙個**函式,如【

arr7.sort(function (a, b) )

】,sort方法內部使用的還是氣泡排序。

3.字串的charcodeat()方法可以返回這個字串首字元的ascll碼,"a".charcodeat()//97

4.陣列的常用api(功能方法)既特性

◆連線與劃分擷取和剪下替換

◇陣列的連線使用的是concat方法,原來的陣列不會受影響,var newarr=arr.concat(arr2);返回值是乙個新的陣列。

◇陣列的擷取(劃分)使用的是slice方法,原來的陣列不會受影響,var newarr=arr.slice(2,4);//方法的第乙個引數是表示起始索引,第二個引數表示結束索引,內部使用的是for迴圈,var i=2;i<4,所以是包含左邊括號的數字的但並不會包含右邊括號的數字,如果方法只傳遞乙個引數的話,那麼第二個引數值預設為陣列的length-1,如果引數的值為負數,那麼會在方法內部進行轉換,轉換的方式為陣列的length+引數值(引數值為負),注意點是如果第乙個引數大於第二個引數那麼就會返回空陣列,因為內部使用的是for迴圈,如i=4,i<2,那麼就不會進入迴圈體。

◇陣列的剪下替換(剪接)使用的是splice方法,原來的陣列會受到影響,因為是剪下原來的陣列返回新的陣列,var newarr=arr.splice(2,4);////方法的第乙個引數是表示起始索引,第二個引數表示 剪下的長度,如果剪下的長度大於陣列的長度,那預設從起始索引擷取到末尾,如果剪下的長度為負數,那麼預設乙個也不擷取返回乙個空陣列,如果其實索引為負數,那麼預設值為陣列length+第乙個引數(引數字為負),var newarr=arr.splice(2,4,"呂布","趙雲","關羽");除了前兩個引數外,後面無論多少的引數值都表示在原來的陣列被剪下的位置插入這些引數值。

◆從前或者從後獲取陣列元素索引

◇陣列的indexof方法是根據陣列元素 找該陣列元素的索引下標,  從前往後找  ,找不到就會返回 -1,arr.indexof("a")。

◇陣列的lastindexof方法是根據陣列元素 找該陣列元素的索引下標,  從後往前找  ,找不到就會返回 -1,arr.lastindexof("a")。

◆所有的遍歷方法

◇陣列的 every()方法 用於 迴圈檢查這個陣列中的值是否全部符合規則  只要有一次返回false 就終止檢測  返回false 不合格。

◇陣列的filter()方法 用於 迴圈篩選這個陣列中的值是否符合規則  會將返回為true的陣列元素放入乙個新的陣列中去 而返回為false的陣列元素則不會放入新的陣列中去 。

◇陣列的foreach()方法 用於迴圈遍歷陣列中每乙個元素,沒有任何返回值 預設返回undefined

◇陣列的map()方法 用於迴圈遍歷修改陣列中每乙個元素的值 並且會返回修改後的陣列。

◇陣列的some()方法 用於迴圈檢查這個陣列中的值是否有乙個符合規則 只要返回一次true 就會終止檢測 返回true  與 every相反 every是全部合格  some只要乙個合格

5.清空陣列

◆arr.splice(0);原陣列從前剪下到後,原陣列就空了

◆arr.length=0;原陣列的長度為0 ,原陣列就空了

◆arr=或者arr=new array();原陣列重新被賦值,原陣列就空了

6.清除陣列中的重複項

◆使用陣列的foreach方法 配合新陣列的indexof和lastindexof方法

◆使用陣列的foreach方法 配合 新陣列的some方法

◆使用for迴圈和 當前陣列的indexof和lastindexof方法

◆使用for迴圈 配合 新陣列的indexof和lastindexof方法

陣列常用的Api

建立陣列的基本方式如下 1.new array 當引數是乙個數值時,代表的是建立了乙個長度為該數值的陣列,當引數是除了數值的其他型別的值的時候,則會建立乙個只包含該特定值的陣列 2.字面量let personal let values 1,3,4,6 3array.from es6新增的建立陣列的靜...

js陣列的常用api

將陣列的元素組起乙個字串,以separator為分隔符,省略的話則用預設用逗號為分隔符 var arr a b c console.log arr.join a,b,c console.log arr.join a b c將陣列中的某項用逗號隔開組成字串 this.editform.config4 ...

iOS開發小技巧 私有API及不常用的API彙總

ios開發也比較久了,什麼c c 混編啊,unity3d融合ios內容啊等等之類,很多看起來比較蛋疼的需求其實就是乙個個小的api你沒有用過或者沒有見識過罷了,下面就得慢慢積累我遇見的一些新鮮的api介面,從今天開始日積月累 先自己mark一下!共有api 私有api 一 呼叫 號碼 1 呼叫號碼 ...