javascript數(shù)組的內(nèi)置方法詳解
1.Array.at()
功能:接受一個整數(shù)值并返回該索引處的項目,允許正整數(shù)和負(fù)整數(shù)。負(fù)整數(shù)從數(shù)組中的最后一項開始計數(shù)。
語法:Array.at(index)
參數(shù):index:要返回的數(shù)組元素的索引(位置)。當(dāng)傳遞一個負(fù)索引時,支持從數(shù)組末尾開始相對索引;即,如果使用負(fù)數(shù),將通過從數(shù)組末尾開始倒數(shù)來找到返回的元素。
返回值:數(shù)組中與給定索引匹配的元素。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()
功能:淺復(fù)制數(shù)組的一部分到同一數(shù)組中的另一個位置,并返回它,不會改變原數(shù)組的長度。
語法:arr.copyWithin(target[, start[, end]])
參數(shù):
target:
0 為基底的索引,復(fù)制序列到該位置。如果是負(fù)數(shù),target 將從末尾開始計算。
如果 target 大于等于 arr.length,將會不發(fā)生拷貝。如果 target 在 start 之后,復(fù)制的序列將被 修改以符合 arr.length。
start:
0 為基底的索引,開始復(fù)制元素的起始位置。如果是負(fù)數(shù),start 將從末尾開始計算。
如果 start 被忽略,copyWithin 將會從0開始復(fù)制。
end:
0 為基底的索引,開始復(fù)制元素的結(jié)束位置。copyWithin 將會拷貝到該位置,但不包括 end 這 個位置的元素。如果是負(fù)數(shù), end 將從末尾開始計算。
如果 end 被忽略,copyWithin 方法將會一直復(fù)制至數(shù)組結(jié)尾(默認(rèn)為 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對象,該對象包含數(shù)組中每個索引的鍵/值對。
語法:arr.entries()
返回值:一個新的 Array 迭代器對象。Array Iterator是對象,它的原型(__proto__:Array Iterator)上有一個next方法,可用用于遍歷迭代器取得原數(shù)組的[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()
功能:用一個固定值填充一個數(shù)組中從起始索引到終止索引內(nèi)的全部元素。不包括終止索引。
語法:arr.fill(target[, start[, end]])
參數(shù):
- value:用來填充數(shù)組元素的值。
- start :可選,起始索引,默認(rèn)值為0。
- end :可選,終止索引,默認(rèn)值為 this.length。
返回值:修改后的數(shù)組
<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()
功能:返回數(shù)組中滿足提供的測試函數(shù)的第一個元素的值。否則返回 undefined。
語法:arr.find(callback[, thisArg])
參數(shù):
- callback:在數(shù)組每一項上執(zhí)行的函數(shù),接收 3 個參數(shù):
- element:當(dāng)前遍歷到的元素。
- index:可選,當(dāng)前遍歷到的索引。
- array:可選,數(shù)組本身。
- thisArg可選,執(zhí)行回調(diào)時用作this 的對象。
返回值:數(shù)組中第一個滿足所提供測試函數(shù)的元素的值,否則返回 undefined。
<script type="text/javascript"> var array1 = [5, 12, 8, 130, 44]; var found = array1.find(element => element > 10); console.log(found); // 12 </script>
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
細(xì)品javascript 尋址,閉包,對象模型和相關(guān)問題
似乎某些程序員的集合是不相交的,就好像JS程序員和玩編譯原理和CPU指令的匯編程序員就幾乎沒有交叉。前些日子討論的火熱的“作用域鏈”問題,說白了就是尋址問題,不過,這個在C中十分簡單的問題卻被JS這個動態(tài)語言弄得很復(fù)雜。2009-04-04
使用JS實現(xiàn)jQuery的addClass, removeClass, hasClass函數(shù)功能
這篇文章主要介紹了使用JS實現(xiàn)jQuery的addClass, removeClass, hasClass函數(shù)功能,需要的朋友可以參考下2014-10-10
echarts堆疊柱狀圖柱子之間間隔開具體實現(xiàn)代碼
ECharts是一個強(qiáng)大的數(shù)據(jù)可視化庫,它的堆疊柱狀圖通常用于比較各個分類的數(shù)據(jù)總量,這篇文章主要給大家介紹了echarts堆疊柱狀圖柱子之間間隔開具體實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2024-11-11
js+springMVC 提交數(shù)組數(shù)據(jù)到后臺的實例
今天小編就為大家分享一篇js+springMVC 提交數(shù)組數(shù)據(jù)到后臺的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
EasyUi combotree 實現(xiàn)動態(tài)加載樹節(jié)點(diǎn)
這篇文章主要介紹了EasyUi combotree 實現(xiàn)動態(tài)加載樹節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2016-04-04
解決bootstrap-select 動態(tài)加載數(shù)據(jù)不顯示的問題
今天小編就為大家分享一篇解決bootstrap-select 動態(tài)加載數(shù)據(jù)不顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

