1. 程式人生 > 程式設計 >javascript陣列的內建方法詳解

javascript陣列的內建方法詳解

目錄
  • 1.Array.at()
  • 2. Array.copyWithin()
  • 3. Array.entries()
  • 4. Array.fill()
  • 5.find()
  • 總結

1.Array.at()

功能:接受一個整數值並返回該索引處的專案,允許正整數和負整數。負整數從陣列中的最後一項開始計數。

語法:Array.at(index)

引數:index:要返回的陣列元素的索引(位置)。當傳遞一個負索引時,支援從陣列末尾開始相對索引;即,如果使用負數,將通過從陣列末尾開始倒數來找到返回的元素。

返回值:陣列中與給定索引匹配的元素。undefined如果找不到給定的索引,則返回

<script type="text/">
			var arr = [1,2,3,4,5];
			var newarr = arr.at(-1);
			console.log(newarr);// 5
			var newarr = arr.at(3);
			console.log(newarr);// 4
</script>

2. Array.copyWithin()

功能:淺複製陣列的一部分到同一陣列中的另一個位置,並返回它,不會改變原陣列的長度。

語法arr.copyWithin(target[,start[,end]])

引數:

target:

0 為基底的索引,複製序列到該位置。如果是負數,target 將從末尾開始計算。

如果 target 大於等於 arr.length,將會不發生拷貝。如果 target 在 start 之後,複製的序列將被 修改以符合 arr.length。

start:

0 為基底的索引,開始複製元素的起始位置。如果是負數,start 將從末尾開始計算。

如果 start 被忽略,copyWithin 將會從0開始複製。

end:

0 為基底的索引,開始複製元素的結束位置。copyWithin 將會拷貝到該位置,但不包括 end 這 個位置的元素。如果是負數, end 將從末尾開始計算。

如果 end 被忽略,copyWithin 方法將會一直複製至陣列結尾(預設為 arr.length)

<script type="text/script">
			var arr = [1,5];
			var arr2= arr.copyWithin(-2)
			console.log(arr2); // [1,1,2]
			var arr3= arr.copyWithin(0,3)
			console.log(arr3); // [4,5,5]
			var arr4= arr.copyWithin(0,4)
			console.log(arr4); // [4,5]
			var arr5= arr.copyWithin(-2,-3,-1)
			console.log(arr5); // [1,4]
</script>

3. Array.entries()

功能:返回一個新的Array Iterator物件,該物件包含陣列中每個索引的鍵/值對。

語法arr.entries()

返回值:一個新的 Array 迭代器物件。Array Iterator是物件,它的原型(__proto__:Array Iterator)上有一個next方法,可用用於遍歷迭代器取得原陣列的[key,value]。

<script type="text/javascript">
			var array1 = ['a','b','c'];
			var iterator1 = array1.entries();
			console.log(iterator1.next().value);
			// expected output: Array [0,"a"]
			console.lowww.cppcns.comg(iterator1.next().value);
			// expected output: Array [1,"b"]
</script>

4. Array.fill()

功能:用http://www.cppcns.com一個固定值填充一個數組中從起始索引到終止索引內的全部元素。不包括終止索引。

語法:arr.fill(target[,end]])

引數

  • value:用來填充陣列元素的值。
  • start :可選,起始索引,預設值為0。
  • end :可選,終止索引,預設值為 this.length。

返回值:修改後的陣列

<script type="text/javascript">
			var array1 = [1,2,4];	
			// fill with 0 from position 2 until position 4
			console.log(array1.fill(0,4));
			// expected output: [1,0]
			// fill with 5 from position 1
			console.log(array1.fill(5,1));
			// expected output: [1,5]
			console.log(array1.fill(6));
			// expected output: [6,6,6]
</script>www.cppcns.com;

5.find()

功能:返回陣列中滿足提供的測試函式的第一個元素的值。否則返回 undefined。

語法:arr.find(callback[,thisArg])

引數:

  • callback:在陣列每一項上執行的函式,接收 3 個引數:
  • element:當前遍歷到的元素。
  • index:可選,當前遍歷到的索引。
  • array:可選,陣列本身。
  • thisArg可選,執行回撥時用作this 的物件。

返回值:陣列中第一個滿足所提供測試函式的元素的值,否則返回 undefined。

<script type="text/javascript">
			var array1 = [5,12,8,130,44];
			var found = array1.find(element => element > 10);
			console.log(found); // 12
</script>

總結

本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注我們的更多內容!