-
數(shù)組的遍歷
1.1 for……of 循環(huán)
for(const items of item ) 循環(huán)遍歷數(shù)組項(xiàng) ;
image.png
1.2 for 循環(huán)
for(let i =0;i<items.length;i++)循環(huán)使用遞增的索引變量遍歷數(shù)組項(xiàng);
image.png
方法 :
1.3 array.forEach()方法
array.forEach(callback) 方法通過每個(gè)數(shù)組項(xiàng)上調(diào)用callback 函數(shù)來遍歷數(shù)組項(xiàng)
callback(item,index,items) :當(dāng)前遍歷項(xiàng),當(dāng)前遍歷項(xiàng)的索引,當(dāng)前遍歷的數(shù)組本身;

2 . 數(shù)組的映射
2.1 array.map(callback)方法 通過在每個(gè)數(shù)組項(xiàng)上使用callback 調(diào)用結(jié)果來創(chuàng)作一個(gè)新數(shù)組

注意 : array.map() 方法 創(chuàng)建一個(gè)新的映射數(shù)組 ,不改變?cè)瓟?shù)組 ;
2.2 array.form() 方法 通過在每個(gè)數(shù)組項(xiàng)上使用callback 調(diào)用結(jié)果來創(chuàng)作一個(gè)新數(shù)組

注意 : Araay.from() 方法 創(chuàng)建一個(gè)新的映射數(shù)組 ,不改變?cè)亟M ;
Araay.from() 方法 更適合 從類似數(shù)組的對(duì)象進(jìn)行映射 ;
3 數(shù)據(jù)的簡化
3.1 array.reduce() 方法 通過調(diào)用callback函數(shù) 將一個(gè)數(shù)組簡化成一個(gè)值 ;
callback(total,item,index,items) : 累加器,當(dāng)前數(shù)組的項(xiàng),當(dāng)前數(shù)項(xiàng)的索引,當(dāng)前數(shù)組最終返回的是累加器的值 ;

注意: reduce() 對(duì)于空數(shù)組不會(huì)執(zhí)行回調(diào)函數(shù) ;
reduceRight() 使用的方法和reduce() 一樣 ,不同的是reduceRight() 從數(shù)組的末尾向前累加數(shù)組中的每一項(xiàng) ;
4 數(shù)據(jù)的連接
4.1 array.concat() 方法 : 將一個(gè)或者多個(gè)數(shù)組連接到原始數(shù)組 ;
es6 中展開運(yùn)算符和數(shù)組字面量... [...arr1,..arr2]

5 獲取數(shù)組的片段
5.1 array.slice(startIndex,endIndex) 方法 :startIndex 數(shù)組中開始位置的索引,endIndex 結(jié)束位置的索引(截取不包括結(jié)束位置索引所在的項(xiàng))返回截取的元素 不改變?cè)紨?shù)組的值 ;

注意 : array.slice(0) : 只有一個(gè)參數(shù) 默認(rèn)從當(dāng)前索引所在的元素截取當(dāng)前數(shù)組剩下的所有元素 ;
6 數(shù)組的拷貝
6.1 數(shù)組的拷貝最簡單的一種方法就是es6 中的展開運(yùn)算符 [...arr]

6.2 [].concat(array) : 是另一種拷貝數(shù)組的方法

6.3 array.slice() 方法 : 也可以淺拷貝一個(gè)數(shù)組 ;

注意 : array.slice() === 等價(jià)于 array.slice(0)
-
查找數(shù)組
7.1 array.includes() 方法 :
array.includes(itemTosearch,fromIndex) : itemTosarch 需要查找的元素,fromIndex 當(dāng)前查找位置的索引默認(rèn)值為0; 返回值是一個(gè)布爾值 滿足true 不滿足false
image.png
7.2 array.indexOf() 方法 : 參數(shù)和includes 中的參數(shù)一樣 值存在返回當(dāng)前元素所在的索引 不存在則返回的是-1
image.png
7.3 array.find(callback) 方法 : 返回?cái)?shù)組中滿足提供的測試函數(shù)的第一個(gè)元素的值。否則返回undefined
image.png -
查詢數(shù)組
8.1 array.every() 方法 : 參數(shù)是一個(gè)回調(diào)函數(shù) callback(item,index,items) : item 當(dāng)前遍歷項(xiàng) ,遍歷項(xiàng)對(duì)應(yīng)的索引,當(dāng)前遍歷數(shù)組本身 ;返回值是一個(gè)布爾值: 當(dāng)數(shù)組中的每一項(xiàng)都滿足該函數(shù)條件時(shí) 返回true ,其中有一個(gè)項(xiàng)不滿足時(shí)就返回false ;
image.png
8.2 array.some() 方法 : 參數(shù)于every() 相同 返回值是布爾值 ;不同的是 遍歷的數(shù)組中有一項(xiàng)滿足該回調(diào)函數(shù)則返回true ,都不滿足的時(shí)候返回false
image.png -
數(shù)組的過濾
9.1 array.filter() 方法
array.filter(func) : 創(chuàng)建一個(gè)新的數(shù)組 func(item,index,items) item 當(dāng)前遍歷項(xiàng),索引和數(shù)組本身 返回值是滿足當(dāng)前函數(shù)的元素組成的數(shù)組
image.png
注意 : array.filter() 創(chuàng)建一個(gè)新的數(shù)組,不改變?cè)紨?shù)組 ;
-
數(shù)組的插入
10.1 array.push() 方法 :將一個(gè)或者多個(gè)項(xiàng)追加到數(shù)組的末尾,并返回新數(shù)組的長度
image.png
展開操作符向數(shù)組后面添加元素
image.png
注意 : array.push() 會(huì)改變?cè)瓟?shù)組 可以添加多個(gè)元素
10.2 array.unshift() 方法 : 將一個(gè)或多項(xiàng)追加到數(shù)組的開頭,返回新數(shù)組的長度;es6 中展開操作符一樣可以應(yīng)用 ;
10.2 在任何位置添加元素實(shí)現(xiàn)方法:

- 刪除數(shù)組
11.1 array.pop() 方法 :從數(shù)組中刪除最后一個(gè)元素,返回是刪除的元素 會(huì)改變?cè)亟M
11.2 array.shift() 方法 : 從數(shù)組中刪除第一個(gè)元素 返回刪除的元素 會(huì)改變?cè)亟M ;
11.3 array.splice(fromIndex,removeCount,addItem) : 開始刪除的元素索引,刪除元素的個(gè)數(shù),插入的元素 會(huì)改變?cè)瓟?shù)組 ; - 清空數(shù)組
12.1 array.length = 0 ;
12.2 array.splice(0) -
填充數(shù)組
13.1 array.fill(fromIndex,item)方法 : fromIndex開始填充的位置 ,item 填充的數(shù)據(jù) 會(huì)改變?cè)瓟?shù)組
注意 : Array(length).fill() : 來初始化數(shù)組的特定長度和初始值的數(shù)組 ;
13.2 Array.form() 函數(shù)
Array.form() 有助于初始化帶有對(duì)象的特定長度的數(shù)組
image.png - 數(shù)組的扁平化
14.1 array.flat() 方法 : 通過遞歸扁平屬于數(shù)組的項(xiàng)直到一定的深度來創(chuàng)建數(shù)組 ; 創(chuàng)建一個(gè)新數(shù)組,不會(huì)改變?cè)紨?shù)組; - 數(shù)組的排序
15.1 array.sort() 方法 : 對(duì)數(shù)組的元素進(jìn)行排序 。會(huì)改變?cè)瓟?shù)組 ; - Array.of() : 將一組值轉(zhuǎn)換成數(shù)組
Array.of("3","4","7") // ["3","4","7"]
Array.of(3).length // 1
17.將類數(shù)組轉(zhuǎn)化成數(shù)組 Array.from()
const fromObj={
"0":"你好",
"1":"世界",
length:2
}
const es5Arr = [].slice.call(fromObj) // ["你好", "世界"]
const es6Arr = Array.from(fromObj) // ["你好", "世界"]










