1. 程式人生 > >數組所有原型,數組方法

數組所有原型,數組方法

一個 字符串 eve false nic java native 排序 其中

  Array.prototype.push  

push 用於向數組的末尾添加一個或多個元素,並返回新的長度;改變原數組的長度,將新的值添加在數組的尾部

  Array.prototype.pop  

刪除一個數組中的最後的一個元素,並且返回這個元素

  Array.prototype.concat  

concat()方法用於合並兩個或多個數組。

此方法不改變原數組,而是返回一個新數組。

  Array.prototype.constructor   

constructor 屬性返回對象的構造函數

例:

JavaScript 數組 constructor 屬性返回 function Array() { [native code] }

JavaScript 數字 constructor 屬性返回 function Number() { [native code] }

JavaScript 字符串 constructor 屬性返回 function String() { [native code] }

  Array.prototype.copyWithin  

copyWithin() 方法用於從數組的指定位置拷貝元素到數組的另一個指定位置中。

  Array.prototype.entries(),keys()和values()  

三個都是es6新增的方法

用於遍歷數組。它們都返回一個遍歷器對象,可以用for...of循環進行遍歷

唯一的區別是:keys()是對鍵名的遍歷

       values()是對鍵值的遍歷

       entries()是對鍵值對的遍歷

  Array.prototype.every  

every() 方法用於檢測數組所有元素是否都符合指定條件(通過函數提供)。

every() 方法使用指定函數檢測數組中的所有元素:

  • 如果數組中檢測到有一個元素不滿足,則整個表達式返回 false ,且剩余的元素不會再進行檢測。
  • 如果所有元素都滿足條件,則返回 true。

  Array.prototype.fill  

fill() 方法用於將一個固定值替換數組的元素。

  Array.prototype.map(),filter(),some(),every(),forEach()  

map():返回一個新的Array,每個元素為調用func的結果

filter():返回一個符合func條件的元素數組

some():返回一個boolean,判斷是否有元素是否符合func條件

every():返回一個boolean,判斷每個元素是否符合func條件

forEach():沒有返回值,只是針對每個元素調用func

  Array.prototype.find(),findIndex()  

find()函數用來查找目標元素,找到就返回該元素,找不到返回undefined。

findIndex()函數也是查找目標元素,找到就返回元素的位置,找不到就返回-1

[1, 2, 3, 4].find((value, index, arr) => {})

查找函數有三個參數。

value:每一次叠代查找的數組元素。

index:每一次叠代查找的數組元素索引。

arr:被查找的數組。

  Array.prototype.includes  

includes() 方法用來判斷一個數組是否包含一個指定的值,如果是返回 true,否則false。

[1, 2, 3].includes(2);     // true
[1, 2, 3].includes(4);     // false
[1, 2, NaN].includes(NaN); // true

  Array.prototype.indexOf  

indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。

[1,2,3,4].indexOf(3)  // 2

  Array.prototype.join  

join() 方法用於把數組中的所有元素連接成一個字符串。

元素是通過指定的分隔符進行分隔的

[1,2,3].join(‘@‘)  // 1@2@3

  Array.prototype.lastIndexOf  

在整個一維 Array 中搜索指定的對象,並返回最後一個匹配項的索引。

[2,2,1,1,4,5,3,1,2].lastIndexOf(1)  // 7

  Array.prototype.reduce(),reduceRight()  

reduce() 方法接收一個函數 callback 作為累加器(accumulator),數組中的每個值(從左到右)開始合並,最終為一個值

array.reduce(callback[, initialValue])
function callback(accumulator, currentValue, currentIndex, array){}
  • accumulator : 上一次調用回調返回的值,或者是提供的初始值(initialValue)
  • currentValue : 數組中當前被處理的數組項
  • currentIndex : 當前數組項在數組中的索引值
  • array : 調用 reduce() 方法的數組
    initialValue 作為第一次調用 callback 函數的第一個參數
var arr = [0,1,2,3,4];

arr.reduce(function (accumulator, currentValue, currentIndex, array) {
    return accumulator+ currentValue;
}); // 10

reduceRight() 方法的功能和 reduce() 功能是一樣的,不同的是 reduceRight() 從數組的末尾向前將數組中的數組項做累加

  Array.prototype.reverse  

reverse() 方法用於顛倒數組中元素的順序

該方法會改變原來的數組,而不會創建新的數組

  Array.prototype.shift  

shift() 方法用於把數組的第一個元素從其中刪除,並返回第一個元素的值

如果數組是空的,那麽 shift() 方法將不進行任何操作,返回 undefined 值。請註意,該方法不創建新數組,而是直接修改原有的 arrayObject。

  Array.prototype.slice  

slice() 方法可從已有的數組中返回選定的元素,不改變原數組。

arrayObject.slice(start,end)

返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。

  Array.prototype.sort  

sort() 方法對數組的元素做原地的排序,並返回這個數組。 sort 排序可能是不穩定的。默認按照字符串的Unicode碼位點(code point)排序

  Array.prototype.splice  

splice() 方法向/從數組中添加/刪除項目,然後返回被刪除的項目。

該方法會改變原始數組

arrayObject.splice(index,howmany,item1,.....,itemX)

index:必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。

howmany:必需。要刪除的項目數量。如果設置為 0,則不會刪除項目。

item1, ..., itemX:可選。向數組添加的新項目。

splice() 方法可刪除從 index 處開始的零個或多個元素,並且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。

如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。

  Array.prototype.toLocaleString  

把數組轉換為本地字符串。

首先調用每個數組元素的 toLocaleString() 方法,然後使用地區特定的分隔符把生成的字符串連接起來,形成一個字符串

["red","black","green"].toLocaleString()  //  red,black,green

  Array.prototype.toString  

可把數組轉換為字符串,並返回結果(不會改變原數組)

  Array.prototype.unshift  

unshift() 方法可向數組的開頭添加一個或更多元素,並返回新的長度。

註意: 該方法將改變數組的數目。

提示: 將新項添加到數組末尾,可以使用 push() 方法。

數組所有原型,數組方法