js中的數組是非常非常重要的資料結構,也非常非常的靈活,方法非常的齊全。本來es5就已經有非常多的的方法,es6又對其進行了擴充,可見這資料結構在開發過程中真的非常的重要。撸起:
let
結果:
先來總結一下ES5的Array的重要方法:
誰能告訴我,表格如何輸入,我實在不知道如何輸入表格資料,是以使用了圖檔。
方法詳解 1、concat():合并數組,可以合并一個或多個數組,傳回合并數組之後的新數組,不會改變原來的數組。
// 1:concat(); 功能:合并數組,可以合并一個或多個數組,傳回合并數組之後的新數組,不會改變原來的數組。
2、join(): 将數組轉為字元串并傳回轉化的字元串資料,不會改變原來的數組。
// 2:join(); 功能:将數組轉為字元串并傳回轉化的字元串資料,不會改變原來的數組。
3、pop(): 删除數組的最後一位,并且傳回删除的資料,會改變原來的數組。
//3、pop():删除數組的最後一位,并且傳回删除的資料,會改變原來的數組。
4、shift(): 删除數組的第一位資料,并且傳回新數組的長度,會改變原來的數組。
//4、shift():删除數組的第一位資料,并且傳回新數組的長度,會改變原來的數組。
5、unshift(): 在數組的首位新增一個或多資料,并且傳回數組的長度,會改變原來的數組。
//5、unshift():在數組的首位新增一個或多資料,并且傳回數組的長度,會改變原來的數組。
6、push(): 在數組的最後一位新增一個或多個資料,并且傳回數組的長度,會改變原來的數組。
//6、push()():在數組的最後一位新增一個或多個資料,并且傳回數組的長度,會改變原來的數組。
7、reverse(): 将數組的資料進行反轉,并且傳回反轉後的數組,會改變原數組。
//7、reverse()():将數組的資料進行反轉,并且傳回反轉後的數組,會改變原數組。
8、sort(): 對數組内的資料進行排序(預設為升序),并且傳回排過序的新數組,會改變原來的數組。
//8、sort():對數組内的資料進行排序(預設為升序),并且傳回排過序的新數組,會改變原來的數組。
9、slice(): 截取指定位置的數組,并且傳回截取的數組,不會改變原數組。
參數:slice(startIndex, endIndex)
注意:可從已有的數組中傳回標明的元素。該方法接收兩個參數slice(start,end),strat為必選,表示從第幾位開始;end為可選,表示到第幾位結束(不包含end位),省略表示到最後一位;start和end都可以為負數,負數時表示從最後一位開始算起,如-1表示最後一位。
在實際的開發中,最好不要使用負數做為參數。//9、slice():截取指定位置的數組,并且傳回截取的數組,不會改變原數組。
10、splice(): 向數組中添加,或從數組删除,或替換數組中的元素,然後傳回被删除/替換的元素。
參數:splice(start,num,data1,data2,...); 所有參數全部可選。
//10、splice():向數組中添加,或從數組删除,或替換數組中的元素,然後傳回被删除/替換的元素。
11、valueOf(): 傳回數組的原始值(一般情況下其實就是數組自身)。
//11、valueOf():傳回數組的原始值(一般情況下其實就是數組自身)。
12、indexOf(): 根據指定的資料,從左向右,查詢在數組中出現的位置,如果不存在指定的資料,傳回-1,找到了指定的資料傳回該資料的索引。不會更改數組結構。
參數:indexOf(value, start);value為要查詢的資料;start為可選,表示開始查詢的位置,當start為負數時,從數組的尾部向前數;如果查詢不到value的存在,則方法傳回-1
注意:如果找到該資料,立即傳回該資料的索引,不再往後繼續查找。在開發過程中最好不要設定start值。//12、IndexOf():根據指定的資料,從左向右,查詢在數組中出現的位置,如果不存在指定的資料,傳回-1,找到了指定的資料傳回該資料的索引。
13、lastIndexOf(): 根據指定的資料,從左向右,查詢在數組中最後出現的位置,如果不存在指定的資料,傳回-1。不會更改數組結構。
//13、lastIndexOf():根據指定的資料,從左向右,查詢在數組中最後出現的位置,如果不存在指定的資料,傳回-1。不會更改數組結構。
14、forEach(): 數組疊代器,循環周遊數組。此方法最好是在數組中的元素結構一緻的時候使用。不會更改數組結構。
//14、forEach():數組疊代器,循環周遊數組。
15、map(): 數組疊代器,循環周遊數組。此方法最好是在數組中的元素結構一緻的時候使用,與forEach一樣的功能。不會更改數組結構。
//15、map():數組疊代器,循環周遊數組。
16、filter(): 數組過濾,依過濾回調函數邏輯,傳回滿足要求的新數組。不會更改數組結構。
//16、filter():數組過濾,依過濾回調函數邏輯,傳回滿足要求的新數組。
17、every(): 判斷數組中每一項是否都滿足條件,隻有所有項都滿足條件,才會傳回true。不會更改數組結構。
//17、every():判斷數組中每一項是否都滿足條件,隻有所有項都滿足條件,才會傳回true。
18、some(): 判斷數組中是否有一項符合要求,如果有傳回true,否則傳回false。不會更改數組結構。
//18、some():判斷數組中是否有一項符合要求,如果有傳回true,否則傳回false。不會更改數組結構。
19、reduce(): 從數組的第一項開始,逐個周遊到最後,疊代數組的所有項,然後建構一個最終傳回的值。
參數:reduce()接收一個或兩個參數:第一個是回調函數,表示在數組的每一項上調用的函數;第二個參數(可選的)作為歸并的初始值,被回調函數第一次執行時的第一個參數接收。 reduce(callback,initial);callback預設有四個參數,分别為prev,now,index,self。 callback傳回的任何值都會作為下一次執行的第一個參數。 如果initial參數被省略,那麼第一次疊代發生在數組的第二項上,是以callback的第一個參數是數組的第一項,第二個參數就是數組的第二項。
//19、reduce():從數組的第一項開始,逐個周遊到最後,疊代數組的所有項,然後建構一個最終傳回的值。
20、reduceRight(): 從數組的最後一項開始,逐個周遊到最前,疊代數組的所有項,然後建構一個最終傳回的值。
//20、reduceRight():從數組的最後一項開始,逐個周遊到最前,疊代數組的所有項,然後建構一個最終傳回的值。
21、toString(): 将數組轉換成字元串。
//21、toString():将數組轉換成字元串。
好了,數組的方法介紹完成了,總結一下:
1、修改了數組結構的方法有:
unshift()、push()、shift()、pop()、sort()、reverse()、splice()
2、比較容易錯的方法有:
splice()、slice()該文章參照了:https://www.cnblogs.com/jiuxia/p/11509616.html
晚安