javascript數組的內置方法詳解
1.Array.at()
功能:接受一個整數值並返回該索引處的項目,允許正整數和負整數。負整數從數組中的最後一項開始計數。
語法:Array.at(index)
參數:index:要返回的數組元素的索引(位置)。當傳遞一個負索引時,支持從數組末尾開始相對索引;即,如果使用負數,將通過從數組末尾開始倒數來找到返回的元素。
返回值:數組中與給定索引匹配的元素。undefined如果找不到給定的索引,則返回
<script type="text/javascript"> 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/javascript"> var arr = [1,2,3,4,5]; var arr2= arr.copyWithin(-2) console.log(arr2); // [1, 2, 3, 1, 2] var arr3= arr.copyWithin(0, 3) console.log(arr3); // [4, 5, 3, 4, 5] var arr4= arr.copyWithin(0, 3, 4) console.log(arr4); // [4, 2, 3, 4, 5] var arr5= arr.copyWithin(-2, -3, -1) console.log(arr5); // [1, 2, 3, 3, 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.log(iterator1.next().value); // expected output: Array [1, "b"] </script>
4. Array.fill()
功能:用一個固定值填充一個數組中從起始索引到終止索引內的全部元素。不包括終止索引。
語法:arr.fill(target[, start[, end]])
參數:
- value:用來填充數組元素的值。
- start :可選,起始索引,默認值為0。
- end :可選,終止索引,默認值為 this.length。
返回值:修改後的數組
<script type="text/javascript"> var array1 = [1, 2, 3, 4]; // fill with 0 from position 2 until position 4 console.log(array1.fill(0, 2, 4)); // expected output: [1, 2, 0, 0] // fill with 5 from position 1 console.log(array1.fill(5, 1)); // expected output: [1, 5, 5, 5] console.log(array1.fill(6)); // expected output: [6, 6, 6, 6] </script>
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>
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- 27個JavaScript數組常見方法匯總與實例說明
- ECMAScript 6數組的擴展實例詳解
- ES6的內置對象擴展實現示例
- javascript的數組方法大全
- JavaScript中你不知道的Object.entries用法