javascript陣列方法
-
給陣列增加元素
(1)
array.push(element1,...,elementN)
用途:push方法在原來的陣列末尾新增一個或者多個元素;
返回值是:新陣列的長度;(2)
array.unshift(element1,...,elementN)
用途: unshift方法在原來陣列的開頭新增元素
返回值是: 新陣列的長度 -
刪除陣列的某些元素
(1)array.pop()
用途是: 從尾部刪除陣列的最後一個元素
返回值是: 陣列被刪除掉的元素
(2)array.shift()
用途是: 從頭部刪除陣列的第一個元素
返回值是: 陣列被刪除掉的元素(3)splice方法:通過指定下標刪除陣列中的元素和新增新元素來更改陣列的內容
arr.splice(start,deleteCount,item1...)
用法:
start指定修改的開始位置
deleteCount(可選)指定要移除的陣列元素的個數,如果是0,則不移除元素,如果不填則表示把start即之後的所有元素都刪除
item1...表示從start位置開始新增元素
返回值:由被刪除的元素組成的陣列,如果沒有刪除則返回空陣列
注意:該方法會直接修改原陣列 -
判斷是否為陣列
Array.isArray(obj)
如果obj是陣列,返回true;否則返回false
-
合併陣列
var newArray = oldArray.concat(arr1,arr2,...)
注意:不會修改原來的陣列
-
真值檢測方法:
(1) every方法arr.every(callback)
用途:判斷陣列中的每個元素是否符合條件,如果符合條件則返回true,如果陣列中有一個元素不符合條件則返回false;
callback: callback傳入三個引數,分別是:元素值,元素的索引,原陣列
該方法不會改變原陣列(2)includes方法
arr.includes(searchElement, fromIndex)
解釋 searchElement為必填項,是要查詢的元素值,fromIndex是選填項,是指從該索引來進行查詢。
返回值 如果查詢到該元素則返回true,否則返回false
(3)some方法arr.some(callback)
用法:該方法為陣列中的項執行callback,直到找到一個滿足條件的即返回 true,否則返回false
some 被呼叫時不會改變陣列。 -
fill方法,修改陣列
arr.fill(value,start,end)
用途:fill方法通過傳入三個引數,value是修改的值,start和end是陣列的下標
返回結果:返回修改後的陣列
這個方法會修改原陣列 -
filter方法:篩選原陣列中的合適的元素並返回新的陣列
var new_ARR = arr.filter(callback(element,index,array))
用途:通過callback函式來得到符合條件的陣列並返回
該方法不會修改原來的陣列 -
forEach方法:對陣列中的每一項元素執行回撥函式
array.forEach(callback(currentValue,index,array))
用途:forEach方法對陣列中的每一項進行遍歷操作
返回值 undefined -
查詢陣列索引
(1) indexOf():返回陣列中找到指定元素的索引,如果不存在返回-1arr.indexOf(searchElement,fromIndex)
**說明**: fromIndex如果不傳,預設值是0;indexOf方法是從陣列的前面往後進行查詢的
(2) lastIndexOf(): 從陣列的後面向前查詢,如果找到則返回陣列的下標,否則返回-1;
arr.lastIndexOf(searchElement,fromIndex)
-
陣列轉化為字串的方法
(1) join: 將一個陣列的所有元素連線成一個字串並返回str = arr.join()//預設為, str = arr.join("")//分隔符為"" str = arr.join(separator)//分隔符
**描述**: 將所有的陣列元素轉化為字串,再用一個分隔符把這些字串連線起來,如果元素是undefined或者null,則轉化成空字串。 **注意**: join 方法不會改變原來的陣列
- slice方法:返回一個從開始到結束(不包括結束)選擇的陣列的一部分淺拷貝到一個新陣列物件。且原始陣列不會被修改
-
高階方法:
(1) mapvar newArr = arr.map(callback(currentValue,index,array))
用法: 對陣列中的每一個元素呼叫callback,然後返回一個新的陣列
(2) reduce:對累加器和陣列中的每一個元素從左到右應用一個函式,將其減少為單個值arr.reduce(callback,initalValue)
用法:callback函式中有四個引數,
accumulator是累加上一次呼叫回撥時返回的累加值
currentValue:陣列中正在處理的元素
currentIndex:陣列中正在處理的當前元素的索引(可選)
array: 呼叫reduce的陣列
initalValue:用作第一個呼叫 callback的第一個引數的值。 如果沒有提供初始值,則將使用陣列中的第一個元素
返回值:函式累計處理的結果
注意:該函式不會改變原來的陣列
(3)reduceRight: 從右向左進行累加,其他和reduce一樣
(4)sort: 對陣列的元素進行排序arr.sort(compareFun)
用法:通過compareFun來指定陣列按照某種順序進行排序,如果沒有傳遞該函式,則陣列中的每個元素轉化為字串,並按照字元的Unicode來排序。
返回值:排序後的陣列
注意:原陣列已經修改