如何在Javascript中更好地使用數組?
javascript中改變原始數組的方法
1.push()方法在數組末尾添加一個或多個元素,并返回數組的長度。
2.pop()方法刪除數組的最后一個元素,減少數組的長度并返回刪除的值。
參數:無
push()和pop()的結合可以用Javascript數組實現FIFO堆棧。
3.unshaft()方法將一個或多個元素添加到數組的頭部,將現有元素移動到更高的索引位置以獲得足夠的空間,最后返回數組的新長度。
參數:項目1、項目2、無。
5.splice()方法是在數組中插入或刪除元素的通用方法。
語法array.splice(start[,deletecount[,item1[,item2[,...]]])
參數:
開始
指定修改的開始位置(從0開始計數)。如果超過了數組的長度,內容將從數組的末尾開始添加;如果是負數,表示從數組的最后一位開始數(從-1開始計數);如果只使用start參數而不使用deleteCount和item,如array.splice(start),則刪除[start,end]的元素。
DeleteCount(可選)
一個整數,表示要移除的數組元素的數量。如果deleteCount為0,則不移除該元素。在這種情況下,至少應該添加一個新元素。如果deleteCount大于start之后的元素總數,則start之后的所有元素都將被刪除(包括第一個起始位)。如果省略deleteCount,則等效于(arr.length-start)。
項目1,項目2,...(可選)
要添加到數組中的元素從起始位置開始。如果未指定,splice()將僅刪除數組元素。
返回值:已刪除元素的數組。如果只刪除一個元素,則返回只包含一個元素的數組。如果該元素未被刪除,則返回一個空數組。
//start不超過數組長度(以下操作是連續的)
()方法對數組中的元素進行排序,并返回排序后的數組。
參數:
免費票AreFunction(可選)用于指定按一定順序排列的函數。如果省略,則根據轉換后的字符串中每個字符的Unicode位置對元素進行排序。如果指定了compareFunction,將根據調用該函數的返回值對數組進行排序。也就是說,A和B是要比較的兩個元素:
*如果compareFunction(a,B)小于0,那么A將排列在B之前;
*如果compareFunction(a,B)等于0,則A和B的相對位置保持不變。注意:ECMAscript標準并不保證這種行為,也不是所有的瀏覽器都會遵循它(例如,Mozilla2003年以前的s版);
*如果compareFunction(a,b)大于0,b將排列在a之前。
*compareFunction(a,b)對于相同的輸入必須總是返回相同的比較結果,否則排序結果會不確定。
返回值:返回排序后的數組。原始數組已被排序后的數組替換。
7.r:無
讓arr[1,2,3]
()//arr為[3,2,1],返回值為[3,2,1]。
返回值:以逆序返回數組。原始數組已被排序后的數組替換。
()方法將數組的一部分簡單地復制到同一個數組中的另一個位置,并在不修改其大小的情況下返回它。(增加了ES6)
語法:(目標[,開始[,結束]])
參數:
目標
0是復制序列的堿基的索引。如果是負數,目標將從末尾開始計算。
如果target大于或等于arr.length,則不會進行復制。如果目標在start之后,復制的序列將被修改以符合arr.length
開始
0是基數的索引,開始復制元素的起始位置。如果是負數,start將從結尾開始計算。
如果省略start,copyWithin將從0開始復制。
結束
0是基數的索引,開始復制元素的結束位置。CopyWithin將被復制到此位置,但不包括結束位置的元素。如果是負數,將從結尾開始計算結尾。
如果end被忽略,copyWithin將被復制到arr.length
返回值:已更改的數組。
copywithin函數設計為通用的,不要求其this值必須是數組對象。
[]({l:5分,3:1分,0分,3分)
//{0:1票,3:1票,l:5票}
()方法用固定值填充數組中從起始索引到結束索引的所有元素。(增加了:(值[,開始[,結束]])
參數:
用于填充數組元素的值。
Start(可選)啟動索引,默認值為0。
js中map和filter的返回類型?
我明確創建concat()連接數組——返回一個新的數組join(分隔符)連接數組元素形成一個字符串——返回一個stringreverse()反轉數組中元素的順序——返回原來的數組slice(starpos,endpos)返回一部分數據——返回一個新的數組splice(start,deleteCount,value)插入、刪除或替換數據的元素。