遍歷數(shù)組
?? ? map?
? ??????map方法的作用在于處理?流式數(shù)據(jù),比如數(shù)組。
????????map() 方法??返回一個(gè)新數(shù)組,數(shù)組中的元素為原始數(shù)組元素 調(diào)用函數(shù) 處理后的值。
? ??????map( ) 不會(huì)改變?cè)紨?shù)組!?。。?!
? ??????array.map(function(currentValue,index,arr), thisValue)
? ??????currentValue?必須。當(dāng)前元素的值
? ??????index可選。當(dāng)前元素的索引值
? ??????arr可選。當(dāng)前元素屬于的數(shù)組對(duì)象
? ??????thisValue?可選。對(duì)象作為該執(zhí)行回調(diào)時(shí)使用,傳遞給函數(shù),用作 "this" 的值。
????????如果省略了 thisValue ,"this" 的值為 "undefined"
? ? ? ? 注意:map 方法 回調(diào)函數(shù)需要 return?。。?!否則就是 undefined;
?? ??????????????????map() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)
?????????????????????map() 不會(huì)改變?cè)紨?shù)組
? ? ?reduce?
? ??????reduce() 方法對(duì)累加器和數(shù)組中的每個(gè)元素(從左到右)應(yīng)用一個(gè)函數(shù),最終合并為一個(gè)值。
? ??????array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
? ??????????total?必需。初始值, 或者計(jì)算結(jié)束后的返回值。
? ??????????currentValue?必需。當(dāng)前元素
? ??????????currentIndex?可選。當(dāng)前元素的索引
? ??????????arr??可選。當(dāng)前元素所屬的數(shù)組對(duì)象。
? ??????????initialValue?可選。傳遞給函數(shù)的初始值
??? ?? ??filter
? ??????filter方法可以篩除數(shù)組和類(lèi)似結(jié)構(gòu)中不滿足條件的元素,并?返回 滿足條件 的元素組成的數(shù)組。
????????filter() 方法創(chuàng)建一個(gè) 新的數(shù)組,新數(shù)組中的元素是通過(guò)檢查指定數(shù)組中符合條件的所有元素。
? ??????array.filter(function(currentValue,index,arr), thisValue)
? ??????參數(shù)
? ??????????currentValue?必須。當(dāng)前元素的值
? ??????????index可選。當(dāng)前元素的索引值
? ??????????arr可選。當(dāng)前元素屬于的數(shù)組對(duì)象
? ??????????thisValue可選。對(duì)象作為該執(zhí)行回調(diào)時(shí)使用,傳遞給函數(shù),用作 "this" 的值。
????????????如果省略了 thisValue ,"this" 的值為 "undefined"
? ??? ??forEach
? ??? ??? ??forEach() 方法用于調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)。
? ??????????array.forEach(function(currentValue, index, arr), thisValue)
? ??????????function(currentValue, index, arr)必需。 數(shù)組中每個(gè)元素需要調(diào)用的函數(shù)。
? ??????????currentValue必需。當(dāng)前元素
? ??????????index可選。當(dāng)前元素的索引值。
? ??????????arr可選。當(dāng)前元素所屬的數(shù)組對(duì)象。
? ??????????thisValue可選。傳遞給函數(shù)的值一般用 "this" 值。
????????????如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值
? ??? ??????注意:無(wú)法中途退出循環(huán),只能用return退出本次回調(diào),進(jìn)行下一次回調(diào)。
????????????????它總是返回 undefined值,即使你return了一個(gè)值。
? ? ? ? every
? ?????????用于檢測(cè)數(shù)組所有元素是否都符合指定條件(通過(guò)函數(shù)提供)。
? ??????????every() 方法使用指定函數(shù)檢測(cè)數(shù)組中的所有元素:
????????????如果數(shù)組中檢測(cè)到有一個(gè)元素不滿足,則整個(gè)表達(dá)式返回?false?,且剩余的元素不會(huì)再進(jìn)行檢測(cè)。
????????????如果所有元素都滿足條件,則返回 true。
? ??????????array.every(function(currentValue,index,arr), thisValue),參數(shù)跟forEach一樣。
? ? ? ??? ??返回值是布爾類(lèi)型
? ? ? ??? ??注意:如果數(shù)組中檢測(cè)到有一個(gè)元素不滿足,則整個(gè)表達(dá)式返回 false,且剩余的元素不會(huì)再進(jìn)行檢測(cè)。
? ? ? ??? ??如果所有元素都滿足條件,則返回 true。
? ??????some?
? ??????????some() 方法用于檢測(cè)數(shù)組中的元素是否滿足指定條件(函數(shù)提供)。
? ??????????some() 方法會(huì)依次執(zhí)行數(shù)組的每個(gè)元素:
????????????如果有一個(gè)元素滿足條件,則表達(dá)式返回true?, 剩余的元素不會(huì)再執(zhí)行檢測(cè)。
????????????如果沒(méi)有滿足條件的元素,則返回false。
? ??????????array.some(function(currentValue,index,arr),thisValue)
查詢(xún)數(shù)組中元素
?????includes
? ??????arr.includes(searchElement)
????????arr.includes(searchElement, fromIndex)
? ??????includes() 方法用來(lái)判斷一個(gè)數(shù)組是否包含一個(gè)指定的值,如果是返回 true,否則false。
? ??????searchElement必須。需要查找的元素值。
? ??????fromIndex可選。從該索引處開(kāi)始查找 searchElement。如果為負(fù)值,則按升序從 array.length + fromIndex 的索引開(kāi)始搜索。默認(rèn)為 0。
? ? ?find
? ??????array.find(function(currentValue, index, arr),thisValue)
? ??????find() 方法為數(shù)組中的?每個(gè)元素?都調(diào)用一次函數(shù)執(zhí)行,
? ? ? ? 返回值:find 返回?數(shù)組或類(lèi)似結(jié)構(gòu)中滿足條件的?第一個(gè)元素。
? ??????????currentValue?必需。當(dāng)前元素
? ??????????index可選。當(dāng)前元素的索引值
? ??????????arr可選。當(dāng)前元素所屬的數(shù)組對(duì)象
? ??????????thisValue可選。 傳遞給函數(shù)的值一般用 "this" 值。
????????????如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值
? ??????當(dāng)數(shù)組中的元素在測(cè)試條件時(shí)返回?true?時(shí), find() 返回符合條件的元素,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù),如果沒(méi)有符合條件的元素返回 undefined。
? ? ????findIndex
? ??????????findIndex() 方法返回傳入一個(gè)測(cè)試條件(函數(shù))符合條件的數(shù)組第一個(gè)元素位置。
????????????findIndex() 方法為數(shù)組中的每個(gè)元素都調(diào)用一次函數(shù)執(zhí)行:
? ? ? ? ? ? 當(dāng)數(shù)組中的元素在測(cè)試條件時(shí)返回?true?時(shí), findIndex() 返回符合條件的元素的索引位置,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù)。
????????????如果沒(méi)有符合條件的元素返回 -1
? ? ? ? ? ? 和 find 基本一樣,就是 find 是返回 符合條件的元素,findIndex 是返回下標(biāo)
? ? ? ? indexOf
? ??????????array.indexOf(searchvalue,start)
? ? ? ??????該方法將從頭到尾地檢索數(shù)組,看它是否含有對(duì)應(yīng)的元素。開(kāi)始檢索的位置在數(shù)組 start 處或數(shù)組的開(kāi)頭(沒(méi)有指定 start 參數(shù)時(shí))。如果找到一個(gè) item,則返回 item 的第一次出現(xiàn)的位置。開(kāi)始位置的索引為 0。
? ??????????注意:?indexOf() 方法區(qū)分大小寫(xiě)。
? ? ? ??? ??返回值:返回?cái)?shù)組中首次出現(xiàn)某個(gè)指定的元素位置,也就是下標(biāo)。
? ? ? ??? ??注意:indexOf()不能識(shí)別NaN
? ??????????searchvalue必需。規(guī)定需檢索的字符串值。
? ??????????start可選的整數(shù)參數(shù)。規(guī)定在字符串中開(kāi)始檢索的位置。它的合法取值是 0 到 string Object.length - 1。如省略該參數(shù),則將從字符串的首字符開(kāi)始檢索。
增加刪減方法
?????????擴(kuò)展預(yù)算符? ...
push??改變?cè)瓉?lái)的數(shù)組
? ??????array.push(item1,?item2, ...,?itemX)
? ??????向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并 返回新的長(zhǎng)度。
unshift?改變?cè)瓉?lái)的數(shù)組
? ??????array.unshift(item1,item2, ...,?itemX)
? ??????向數(shù)組的開(kāi)頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
concat 不改變?cè)瓉?lái)的數(shù)組
? ??????array.concat(array2,array3,...,arrayX)
? ??????concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。該方法不會(huì)改變現(xiàn)有的數(shù)組,而僅僅會(huì)返回被連接數(shù)組的一個(gè)副本。
? ???????返回值:返回一個(gè)新的數(shù)組。
splice? 改變?cè)瓉?lái)的數(shù)組
? ??????array.splice(index,howmany,item1,.....,itemX)
? ??????splice() 添加/刪除數(shù)組元素
? ? ? ?返回值:如果從 array 中刪除了元素,則返回的是 刪除后 的數(shù)組。
? ??? ? 注意:添加是在開(kāi)始的元素前面添加的?。。?/b>
? ??????????index必需。規(guī)定從何處添加/刪除元素。
????????????該參數(shù)是開(kāi)始插入和(或)刪除的數(shù)組元素的下標(biāo),必須是數(shù)字。
? ??????????howmany必需。規(guī)定應(yīng)該刪除多少元素。必須是數(shù)字,但可以是 "0"。
????????????如果未規(guī)定此參數(shù),則刪除從 index 開(kāi)始到原數(shù)組結(jié)尾的所有元素。
? ??????????item1, ...,?itemX可選。要添加到數(shù)組的新元素
? ? ? ? slice?不改變?cè)瓟?shù)組
? ??????????array.slice(start,end)
? ??????????? ?返回值:返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
? ??????????start必需。規(guī)定從何處開(kāi)始選取。如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開(kāi)始算起的位置。也就是說(shuō),-1 指最后一個(gè)元素,-2 指倒數(shù)第二個(gè)元素,以此類(lèi)推。
????????????end可選。規(guī)定從何處結(jié)束選取。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒(méi)有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素。如果這個(gè)參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開(kāi)始算起的元素。
????pop?改變?cè)瓉?lái)的數(shù)組
? ??????array.pop()
? ? ? ?pop() 方法刪除一個(gè)數(shù)組中的 最后的一個(gè)元素,并且?返回這個(gè)元素
? ??????返回值?是? 刪除的這個(gè)元素!!!!
????shift?改變?cè)瓉?lái)的數(shù)組
? ??????array.shift()
? ??????shift()方法刪除數(shù)組的?第一個(gè)元素,并 返回這個(gè)元素
? ??????返回值??是??刪除的這個(gè)元素?。。?!
? ? ?copyWithin?改變?cè)瓉?lái)的數(shù)組
? ??????array.copyWithin(target, start, end)
? ????????用于從數(shù)組的指定位置拷貝元素到數(shù)組的另一個(gè)指定位置中。
? ??????????target必需。復(fù)制到指定目標(biāo)索引位置。
? ??????????start可選。元素復(fù)制的起始位置。
? ??????????end可選。停止復(fù)制的索引位置 (默認(rèn)為?array.length)。如果為負(fù)值,表示倒數(shù)。
? ? fill?改變?cè)瓉?lái)的數(shù)組
? ??????array.fill(value, start, end)
? ??????用于將一個(gè)固定值替換數(shù)組的元素。
? ??????value必需。填充的值。
? ??????start可選。開(kāi)始填充位置,默認(rèn)為0
? ??????end可選。停止填充位置 (默認(rèn)為?array.length)
轉(zhuǎn)換方法
? ??join
? ??????array.join(separator)
? ??????join() 方法用于把數(shù)組中的所有元素通過(guò)指定的分隔符進(jìn)行分隔放入一個(gè)字符串,返回生成的字符串。
? ??????separator可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號(hào)作為分隔符。
? ??split(字符串轉(zhuǎn)數(shù)組)
? ?string.split(separator,limit)
????用于把一個(gè)字符串分割成字符串?dāng)?shù)組。
? ??separator可選。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割 string Object。
? ??limit可選。該參數(shù)可指定返回的數(shù)組的最大長(zhǎng)度。如果設(shè)置了該參數(shù),返回的子串不會(huì)多于這個(gè)參數(shù)指定的數(shù)組。如果沒(méi)有設(shè)置該參數(shù),整個(gè)字符串都會(huì)被分割,不考慮它的長(zhǎng)度。
? ? 注意:?如果把空字符串 ("") 用作 separator,那么 stringObject 中的每個(gè)字符之間都會(huì)被分割。
?Array.of( )?
? ??將一組值轉(zhuǎn)換為數(shù)組
Array.from( )?
?? ??Array.from方法用于將?兩類(lèi)對(duì)象?轉(zhuǎn)為?真正的數(shù)組:類(lèi)似數(shù)組的對(duì)象(array-like object)和可遍歷(iterable)的對(duì)象(包括 ES6 新增的數(shù)據(jù)結(jié)構(gòu) Set 和 Map).
? ??toLocaleString
? ??????數(shù)組轉(zhuǎn)字符串
????????返回一個(gè)表示數(shù)組元素的字符串。該字符串由數(shù)組中的每個(gè)元素的 toLocaleString() 返回值經(jīng)調(diào)用 join() 方法連接(由逗號(hào)隔開(kāi))組成。
排序方法
????reverse??改變?cè)瓉?lái)的數(shù)組
? ??????顛倒數(shù)組中元素的順序。
? ??????array.reverse()
????sort? 改變?cè)瓉?lái)的數(shù)組
? ??????對(duì)數(shù)組的元素進(jìn)行排序。
? ??????array.sort(sortfunction)
數(shù)組實(shí)例的 entries(),keys() 和 values()?
? ??返回一個(gè)遍歷器對(duì)象,可以用for...of循環(huán)進(jìn)行遍歷
? ??keys()是對(duì)鍵名的遍歷、values()是對(duì)鍵值的遍歷,entries()是對(duì)鍵值對(duì)的遍歷。