數組的方法
首先我們先打印一下Array.prototype看一下數組都有哪些方法
concat
1.定義和用法:
concat() 方法用于連接兩個或多個數組。該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。
2.語法:arrayObject.concat(arrayX,arrayX,......,arrayX);
arrayX 必需。該參數可以是具體的值,也可以是數組對象。可以是任意多個。
3.返回值:返回一個新的數組。該數組是通過把所有 arrayX 參數添加到 arrayObject 中生成的。如果要進行 concat() 操作的參數是數組,那么添加的是數組中的元素,而不是數組。constructor
Array原型對象的構造函數copyWithin(es6新增)
1.定義與用法:
copyWithin() 方法用于從數組的指定位置拷貝元素到數組的另一個指定位置中。
2.語法:array.copyWithin(target, start, end);
參數:target(必需。復制到指定目標索引位置。); start(必需。元素復制的起始位置。);end(可選。停止復制的索引位置 (默認為 array.length))
3.返回值:新的數組entries(es6新增)
對數值的鍵值對進行遍歷(并不知道是什么意思)-
every
參數說明:
1.定義和用法:
every() 方法用于檢測數組所有元素是否都符合指定條件(通過函數提供)。
every() 方法使用指定函數檢測數組中的所有元素:
如果數組中檢測到有一個元素不滿足,則整個表達式返回 false ,且剩余的元素不會再進行檢測。
如果所有元素都滿足條件,則返回 true。
注意: every() 不會對空數組進行檢測。
注意: every() 不會改變原始數組。
2.語法:array.every(function(currentValue,index,arr), thisValue)
參數說明
3.返回值:布爾值,所有元素通過返回true,未通過返回false fill
1.定義和用法:
fill() 方法用于將一個固定值替換數組的元素。
2.語法:array.fill(value, start, end)
參數說明:value(必需。填充的值。);start(可選。開始填充位置。);end(可選。停止填充位置 (默認為 array.length));-
filter
1.定義與用法:filter() 方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。
注意: filter() 不會對空數組進行檢測。
注意: filter() 不會改變原始數組。
2.語法:array.filter(function(currentValue,index,arr), thisValue)
參數說明
filter的參數說明
3.返回值:返回數組,包含了符合條件的所有元素。如果沒有符合條件的元素則返回空數組。
-
find
參數說明:
1.定義和用法
find() 方法返回傳入一個測試條件(函數)符合條件的數組第一個元素。
find() 方法為數組中的每個元素都調用一次函數執行:
當數組中的元素在測試條件時返回 true 時, find() 返回符合條件的元素,之后的值不會再調用執行函數。
如果沒有符合條件的元素返回 undefined
注意: find() 對于空數組,函數是不會執行的。
注意: find() 并沒有改變數組的原始值。
2.語法:array.find(function(currentValue, index, arr),thisValue)
find方法參數說明
3.返回值:返回符合測試條件的第一個數組元素索引值,如果沒有符合條件的則返回 undefined。 -
findIndex
參數說明
1.定義與方法:
findIndex() 方法返回傳入一個測試條件(函數)符合條件的數組第一個元素位置。
findIndex() 方法為數組中的每個元素都調用一次函數執行:
當數組中的元素在測試條件時返回 true 時, findIndex() 返回符合條件的元素的索引位置,之后的值不會再調用執行函數。
如果沒有符合條件的元素返回 -1
注意: findIndex() 對于空數組,函數是不會執行的。
注意: findIndex() 并沒有改變數組的原始值。
2.語法:array.findIndex(function(currentValue, index, arr), thisValue)
findindex參數說明
3.返回值:返回符合測試條件的第一個數組元素索引,如果沒有符合條件的則返回 -1。 -
forEach
參數說明:
1.定義與用法:forEach() 方法用于調用數組的每個元素,并將元素傳遞給回調函數。
注意: forEach() 對于空數組是不會執行回調函數的。
2.語法:array.forEach(function(currentValue, index, arr), thisValue)
forEach參數說明 includes
1.定義與用法:
includes() 方法用來判斷一個數組是否包含一個指定的值,如果是,返回 true或 false。
2.語法:arr.includes(searchElement, fromIndex)
參數說明:searchElement(需要查找的元素值。);fromIndex(從該索引處開始查找 searchElement。如果為負值,則按升序從 array.length + fromIndex 的索引開始搜索。默認為 0。)
3.返回值:一個布爾值-
indexOf
參數說明:
1.定義與用法:indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。
2.語法:arr.indexOf(searchElement[, fromIndex = 0])
indexOf參數說明
3.返回值:若找到返回數組位置,未找到返回-1 join
1.定義與用法:join() 方法用于把數組中的所有元素放入一個字符串。
元素是通過指定的分隔符進行分隔的。
2.語法:arrayObject.join(separator)
參數說明:separator(可選。指定要使用的分隔符。如果省略該參數,則使用逗號作為分隔符。)keys
1.定義與用法:keys() 方法返回一個新的Array迭代器,它包含數組中每個索引的鍵。
2.語法:arr.keys()
3.返回值:一個新的array迭代器對象。-
lastIndexOf
參數說明:
1.定義與用法:lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或變量)在數組中的最后一個的索引,如果不存在則返回 -1。從數組的后面向前查找,從 fromIndex 處開始。
2.語法:arr.lastIndexOf(searchElement[, fromIndex = arr.length - 1])
lastindexOf參數說明 -
map
1.定義與方法:
map() 方法返回一個新數組,數組中的元素為原始數組元素調用函數處理后的值。
map() 方法按照原始數組元素順序依次處理元素。
注意: map() 不會對空數組進行檢測。
注意: map() 不會改變原始數組。
2.語法:array.map(function(currentValue,index,arr), thisValue)
參數說明:map方法函數說明
3.返回值:修改之后的數組 pop
1.定義與用法:pop() 方法用于刪除數組的最后一個元素并返回刪除的元素。
注意:此方法改變數組的長度!
提示:移除數組第一個元素,請使用shift()方法。
2.語法:array.pop()
3.返回值:刪除的數組push
1.定義與方法:push() 方法可向數組的末尾添加一個或多個元素,并返回新的長度。
注意:新元素將添加在數組的末尾。
注意:此方法改變數組的長度。
提示:在數組起始位置添加元素請使用unshift()方法。
2.語法:array.push(item1, item2, ..., itemX)
參數說明:item要添加數組的元素
3.返回值:數組的新長度-
reduce
參數說明:
1.定義與用法:reduce() 方法接收一個函數作為累加器,數組中的每個值(從左到右)開始縮減,最終計算為一個值。
注意: reduce() 對于空數組是不會執行回調函數的。
2.語法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
reduce的參數說明
3.返回值:計算的結果 reduceRight(與reduce的功能相同,不同的是從數組末尾向前將數組中的數組項做累加)
reverse(反轉數組)
shift(刪除并返回數組的第一個元素)
1.定義與用法:shift() 方法用于把數組的第一個元素從其中刪除,并返回第一個元素的值。
注意:此方法改變數組的長度!
提示:移除數組末尾的元素可以使用pop()方法。-
slice(選取數組的一部分并返回一個新數組)
參數說明:
1.定義與用法:
slice() 方法可從已有的數組中返回選定的元素。
slice()方法可提取字符串的某個部分,并以新的字符串返回被提取的部分。
注意: slice() 方法不會改變原始數組。
2.語法:array.slice(start, end)
slice參數說明.png
3.返回值:返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。 -
some(檢測數組元素中是否有元素符合指定條件)
1.定義與用法:some() 方法用于檢測數組中的元素是否滿足指定條件(函數提供)。
some() 方法會依次執行數組的每個元素:
如果有一個元素滿足條件,則表達式返回true , 剩余的元素不會再執行檢測。
如果沒有滿足條件的元素,則返回false。
注意: some() 不會對空數組進行檢測。
注意: some() 不會改變原始數組。
2.語法:array.some(function(currentValue,index,arr),thisValue)
參數說明:some的參數說明.png
3.返回值:如果有元素滿足條件返回true,否則返回false sort(對數組進行排序)
1.定義與用法:sort() 方法用于對數組的元素進行排序。
排序順序可以是字母或數字,并按升序或降序。
默認排序順序為按字母升序。
注意:當數字是按字母順序排列時"40"將排在"5"前面。
使用數字排序,你必須通過一個函數作為參數來調用。
函數指定數字是按照升序還是降序排列。
這些說起來可能很難理解,你可以通過本頁底部實例進一步了解它。
注意: 這種方法會改變原始數組!。
2.語法:array.sort(sortfunction)
參數說明:sortfunction(可選。規定排序順序。必須是函數。)-
splice
1.定義與用法:splice() 方法用于插入、刪除或替換數組的元素。
注意:這種方法會改變原始數組!。
2.語法:array.splice(index,howmany,item1,.....,itemX)
參數說明:splice參數說明.png toLocaleString
1.定義與用法:將數組轉換為本地字符串
2.語法:arrayObject.toLocaleString()
3.返回值:字符串的本地字符串表示toString
1.定義與方法:返回一個字符串,表示指定數組及其元素unshift
1.定義與用法:
unshift() 方法可向數組的開頭添加一個或更多元素,并返回新的長度。
注意:該方法將改變數組的數目。
提示:將新項添加到數組末尾,請使用push()方法。
2.語法:array.unshift(item1,item2, ..., itemX)
參數說明:向數組起始位置添加一個或者多個元素
3.返回值:返回新數組的長度