javascript
JavaScript Array常用方法
ECMAScript中的數組與其他語言最大的不同在于數組的每一項可以保存任何類型的數據,而且數組的大小可以動態調整。對于數組的操作在前端開發中還是很頻繁的,js本身提供了很多方法供開發者使用,現在對數組的常用方法進行一些總結。
1.創建數組
-
使用Array構造函數,在創建時,可以傳遞數組的長度,也可以傳遞數組中每一項的值;在使用這種方式創建時,可以省略new關鍵字;
-
對象字面量;在使用對象字面量創建數組時,不會調用數組的構造函數;所以instanceof會返回false;
var colors = new Array()
var colors = new Array(20) // 傳入數組長度
var colors = new Array('red', 'blue', 'green') // 傳入數組元素
2.數組方法
(1)檢測數組
- instanceof:檢測某個對象是不是數組;value instanceof Array
- isArray:檢測某個對象是不是數組;Array.isArray(value)
(2)轉換方法
-
toString:返回由數組中每個值的字符串形式拼接而成的一個由逗號分隔的字符串;Array.toString()
-
valueOf:與toString返回相同的值,但返回數組;Array.valueOf()
-
toLocaleString: 與toString返回相同的值,類型是字符串;Array.toLocaleString();
-
join:返回拼接的字符串,可以接收一個參數作為分隔符,默認的分隔符是逗號;
var animals = ['dog','cat','tiger'] console.log(animals.join(',') // dog,cat,tiger console.log(animals.join('|') // dog|cat|tiger 復制代碼 -
tips: 如果數組中的某一項是null、undefined,那么該值在數組調用toString、valueOf、toLocaleString和join方法時,返回空字符串;
(3)棧方法
- push:接收任意數量的參數,把它們逐個添加到數組末尾,并返回修改后的數組的長度;
- pop:從數組末尾刪除最后一項,減少數組的長度,返回移除的項;
(4)隊列方法
- shift:移除數組的第一項并返回該項,同時將數組的長度減1;
- unshift:在數組的前端添加任意項,并返回新數組的長度;
(5)重排序方法
- reverse:反轉數組項的順序;返回經過排序過的數組;
- sort:將數組中的元素進行排序,接收一個排序函數作為參數,指明排序的順序;調用每個數組項的toString()方法,得到比較的字符串,返回經過排序后的數組;
(6)操作方法
- concat:創建一個當前數組的副本,然后將接收到的參數添加到這個副本的末尾,最后返回新的數組。原來的數組保持不變;
- slice:接收兩個參數,分別是返回項的開始位置和結束位置,不包括結束位置的項。
- splice:向數組中插入若干項,返回一個數組,數組中包含從原始數組中刪除的項,如果沒有刪除則返回一個空數組。主要用途包括:
- 刪除:指定兩個參數,要刪除的起始項以及項數;
- 插入:需要插入至少三個參數,起始位置,要刪除的項數,以及要插入的元素(可以傳入多個);
- 替換:先刪除任意項,再插入任意項。需要指定三個參數,起始項數,要刪除的項數,以及插入的項;插入的項不必與刪除的項數相等;
(7)位置方法
- indexOf:接收兩個參數,要查找的元素和查找位置起點的索引,返回查找元素在數組中的位置索引,沒找到返回-1。indexOf表示從頭開始查找;
- lastIndexOf:與indexOf功能相同,從數組的末尾開始查找;
- tips:在查找元素進行比較時,進行的是全等(===)比較;
(8)迭代方法
接收兩個參數,在每一項上運行的函數和運行該函數的作用域對象(可選)。操作不會修改數組本身的值;
- every:對數組中的每一項運行給定的函數,如果每一項都返回true,則返回true;
- filter:對數組中的每一項運行給定函數,返回數組中返回為true的項組成的數組;
- forEach:對數組中的每一項運行給定的函數,沒有返回值;與for in循環功能相同;
- map:對數組中的每一項運行給定的函數,返回運行結果組成的數組;
- some:對數組中的每一項運行給定的函數,如果任意一項返回true,則返回true;
(9)歸并方法
接收兩個參數,分別是在每一項上的執行的函數和作為歸并基礎的初始值;
- reduce:迭代數組中的所有項,構建一個最終的返回值。從數組中的第一項開始,逐個遍歷到最后;var list = [1, 2, 3, 4, 5]; var sum = list.reduce(function(prev, cur, index, array) {return prev + cur; }); console.log(sum); // 15 復制代碼
- reduceRight:迭代數組中的所有項,構建一個最終的返回值,從數組的最后一個開始,向前遍歷到第一項
- tips:傳遞給歸并方法的函數接收四個參數,分別是前一個值,當前值,項的索引和數組對象。這個函數返回的任何值都會作為第一個參數自動傳給下一項;作為歸并的基礎值可以不傳,不傳默認基本值是數組的第一項或最后一項;
總結
以上是生活随笔為你收集整理的JavaScript Array常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OSChina 周一乱弹 —— 抱着漂亮
- 下一篇: Vue指令详解