push():
????????向數(shù)組的末尾添加一個或更多元素
????????返回值為添加的元素
pop():
????????刪除數(shù)組的最后一個元素
????????返回值為刪除的元素
unshift():
????????向數(shù)組開頭添加一個或者多個元素
????????返回值為新數(shù)組的長度
shift():
????????刪除數(shù)組的第一個元素
????????返回值為刪除的元素
reverse():
????????數(shù)組反轉(zhuǎn),改變原數(shù)組
????????返回值為反轉(zhuǎn)之后的新數(shù)組
sort():
????????對數(shù)組進(jìn)行排序,默認(rèn)排序順序?yàn)榘醋帜干?/p>
concat():
????????數(shù)組的拼接,如果拼接的元素是數(shù)組的話,就把該數(shù)組當(dāng)成一個元素進(jìn)行拼接,不改變原數(shù)組
slice():
????????數(shù)組的切割,不改變原數(shù)組
????????不傳參數(shù):返回和原數(shù)組相同的數(shù)組
????????一個參數(shù):返回從當(dāng)前元素開始到結(jié)束 的新數(shù)組
????????兩個參數(shù):第一個參數(shù)為開始位置,第二個參數(shù)為結(jié)束位置,不包含結(jié)束位置
????????????????????????????參數(shù)可以為負(fù)數(shù):-1(倒數(shù)第一個元素)
splice():
????????從數(shù)組中添加或刪除元素,改變原數(shù)組
????????不傳參數(shù):返回空數(shù)組
????????一個參數(shù):返回當(dāng)前元素到數(shù)組末尾的元素組成的數(shù)組
????????兩個參數(shù):第一個參數(shù)代表開始元素,第二個參數(shù)代表刪除的個數(shù),返回值為刪除元素組成的新數(shù)組
????????三個或三個以上參數(shù):第一個參數(shù)代表開始元素,第二個參數(shù)代表刪除個數(shù),第三個到多個的參數(shù)代表插入到原數(shù)組的元素,返回值為刪除元素組成的新數(shù)組,如果沒有刪除元素,則返回空數(shù)組
indexOf():
????????查找數(shù)組元素,按照全等操作符進(jìn)行的匹配
????????一個參數(shù):想要查找的元素,找到返回當(dāng)前元素所在的下標(biāo),查找不到元素返回-1,如果有多個匹配元素,返回第一個匹配元素下標(biāo)
????????兩個參數(shù): 第一個代表想要查找的元素 ,第二個代表從哪開始,返回匹配元素所在的下標(biāo)
lastIndexOf():
? ? ? ? 從后往前查找元素,返回匹配元素的下標(biāo)
copyWithin():
????????用于從數(shù)組的指定位置拷貝元素到數(shù)組的另一個指定位置中
????????三個參數(shù):
????????第一個參數(shù):必需值,復(fù)制到指定目標(biāo)索引的位置
????????第二個參數(shù):可選值,元素復(fù)制的起始位置
????????第三個參數(shù):可選值,停止復(fù)制的結(jié)束位置,默認(rèn)值為arr.length,如果值為負(fù)數(shù),則表示倒數(shù)
fill():
????????使用一個固定值來填充數(shù)組
????????三個參數(shù):
????????第一個參數(shù):必需值,填充的值
????????第二個參數(shù):可選值,開始填充的位置
????????第三個參數(shù):可選值,停止填充位置(array.length)
from():
????????通過擁有 length 屬性的對象或可迭代的對象來返回一個數(shù)組
includes():
????????用來檢驗(yàn)一個數(shù)組中是否含有一個指定的值,有返回true,沒有返回false
????????兩個參數(shù):
????????第一個參數(shù):(searchElement)必需值,需要查找的元素值
????????第二個參數(shù):(fromIndex)可選值,從該索引處開始查找 searchElement。如果為負(fù)值,則按升序從 array.length + fromIndex 的索引開始搜索。默認(rèn)為 0
join():
????????用于把數(shù)組中的所有元素轉(zhuǎn)換成一個字符串
????????一個參數(shù):可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號作為分隔符
迭代方法
forEach():
????????沒有返回值? ? undefined
????????每一個Array實(shí)例都能調(diào)用的方法
????????兩個參數(shù):第一個參數(shù)為循環(huán)執(zhí)行的回調(diào)函數(shù),第二個參數(shù)為賦值給回調(diào)函數(shù)的this值,回調(diào)函數(shù)的參數(shù)為(item,index,arr)
every():
????????返回值為boolean,遍歷數(shù)組,當(dāng)所有元素滿足條件時,返回true,反之返回false
????????兩個參數(shù):第一個參數(shù)為循環(huán)執(zhí)行的回調(diào)函數(shù),第二個參數(shù)為賦值給回調(diào)函數(shù)的this值,回調(diào)函數(shù)的參數(shù)為(item,index,arr)
some():
????????返回值為bolean,遍歷數(shù)組,當(dāng)前元素有滿足條件時返回true,當(dāng)全部元素都不滿足條件時返回false
filter():
????????返回值為滿足條件的元素組成的新數(shù)組
map():
????????通過指定函數(shù)處理數(shù)組的每個元素,并返回處理后的數(shù)組,不會改變原數(shù)組。
entries():?
????????返回一個數(shù)組的迭代對象,該對象包含數(shù)組的鍵值對 (key/value)。
find():
????????返回通過測試(函數(shù)內(nèi)判斷)的數(shù)組的第一個元素的值
????????用法和every類似,只是eveny返回值是true或false,find返回值為符合條件的第一個元素,當(dāng)有元素符合條件時,函數(shù)將不往下循環(huán);當(dāng)元素都不符合條件時,返回undefined
findIndex():
????????規(guī)則和find()一樣,區(qū)別為find()返回值為符合條件的元素,findIndex()返回值為符合條件的元素的索引
reduce():
????????將數(shù)組元素計(jì)算成一個值
????????兩個參數(shù):function(total, currentValue, currentIndex, arr){}
? ???????????????????????? total:必需值,初始值,或者是計(jì)算結(jié)束后的返回值
????????????????????????? currentValue:必需值,i當(dāng)前元素item
? ? ? ? ? ? ? ? ? ? ? ? ? currentIndex:可選值,當(dāng)前元素的索引 index
????????????????????????arr:可選值,當(dāng)前元素所屬的數(shù)組對象
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? initialValue:可選值,傳遞給函數(shù)的初始值
????????使用案例:
????????????????????????????var arr = [1, 3, 4, 5, 67, 8, 7, 6, 43, 2];
? ? ? ? ? ? ? ? ? ? ? ? ? ? var newarr = arr.reduce(function(pre, item, index, arr) {
? ? ? ? ? ? ????????????????????????var begin = index * 5;
? ? ? ? ? ? ????????????????????????var end = begin + 5;
? ? ? ? ? ????????????????????????? var result = arr.slice(begin, end);
? ? ? ? ? ????????????????????????? if (result.length) {
? ? ? ? ? ? ? ????????????????????????????? pre.push(result);
? ? ? ? ? ? ????????????????????????}
? ? ? ? ? ????????????????????????? return pre;
? ? ? ? ? ? ? ? ? ? ? ? ? ? }, []);
? ? ? ? ? ? ? ? ? ? ? ? ? ?console.log(newarr)