數組所有原型,數組方法


 

push()                   pop()                      concat()

constructor()         copyWithin()          entries()

keys()                   values()                  every()

fill()                       map()                     filter()

some()                 every()                    forEach()

find()                    findIndex()              includes()

indexOf()             join()                       lastIndexOf()

reduce()              reduceRight()          reverse()

shift()                  slice()                      sort()

splice()               toLocaleString()      unshift()

 

  Array.prototype.push  

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

var arr=["red","black","Momen"];
arr.push('hi')  // 4
console.log(arr)  // ["red","black","Momen","hi"]

 

  Array.prototype.pop  

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

var arr=["red","black","Momen"];
arr.pop()  // "Momen"

 

  Array.prototype.concat  

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

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

var arr=["red","black","Momen"];
var arr2=["hi"]
arr.concat(arr2)  // ["red","black","Momen","hi"]

 

  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.copyWithin(target, start, end)
target    必需。復制到指定目標索引位置
start 可選。元素復制的起始位置
end 可選。停止復制的索引位置 (默認為 array.length)。如果為負值,表示倒數

 

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

三個都是es6新增的方法

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

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

         values()是對鍵值的遍歷

         entries()是對鍵值對的遍歷

var arr=["red","black","Momen"];
        for(let item of arr.keys()){
            console.log('keys():',item)
        }
        for(let item of arr.values()){
            console.log('values():',item)
        }
        for(let item of arr.entries()){
            console.log('entries():',item)
        }

結果:

 

  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() 方法。

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM