ES6數(shù)組復(fù)制和填充方法copyWithin()、fill()的具體使用
copyWithin()、fill()共同點
- 需要指定一個數(shù)組實例的范圍:包含開始索引,不包含結(jié)束索引。
- 使用這個方法會改變數(shù)組內(nèi)容,但不會改變數(shù)組的大小。
批量復(fù)制 copyWithin()
- copyWithin() 方法用于從數(shù)組的指定位置拷貝元素到數(shù)組的另一個指定位置中。
- copyWithin()會按照指定范圍淺復(fù)制數(shù)組中的部分內(nèi)容,然后將它們插入到指定索引開始的位置。
語法
array.copyWithin(target, start, end)
參數(shù):
參數(shù) | 描述 |
---|---|
target | 必需。復(fù)制到指定目標(biāo)索引位置。 |
start | 可選。元素復(fù)制的起始位置。 |
end | 可選。停止復(fù)制的索引位置 (默認(rèn)為 array.length)。如果為負(fù)值,表示倒數(shù)。 |
返回值:返回復(fù)制之后的數(shù)組
代碼實例:
// 復(fù)制數(shù)組的前面兩個元素到后面兩個元素上: var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.copyWithin(2, 0);//Banana,Orange,Banana,Orange // 復(fù)制數(shù)組的前面兩個元素到第三和第四個位置上: var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"]; fruits.copyWithin(2, 0, 2);//Banana,Orange,Banana,Orange,Kiwi,Papaya
填充數(shù)組方法 fill()
fill() 方法用于將一個固定值替換數(shù)組的元素。
語法:
array.fill(value, start, end)
參數(shù):
參數(shù) | 描述 |
---|---|
value | 必需。填充的值。 |
start | 可選。開始填充位置。 |
end | 可選。停止填充位置 (默認(rèn)為 array.length) |
返回值:數(shù)組
代碼實例:
//填充 "Runoob" 到數(shù)組的最后兩個元素: var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.fill("Runoob", 2, 4);//[ "Banana", "Orange", "Runoob", "Runoob" ] //使用固定值填充數(shù)組: var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.fill("Runoob");//Runoob,Runoob,Runoob,Runoob
關(guān)于索引的計算方式,兩種方法相同
- 開始索引用于指定開始填充的位置,它是可選的。
- 如果不提供結(jié)束索引,則一直填充到數(shù)組末尾。
- 負(fù)值索引從數(shù)組末尾開始計算。也可以將負(fù)索引想象成數(shù)組長度加上它得到的一個正索引。
- 靜默忽略超出數(shù)組邊界、零長度及方向相反的索引范圍。
代碼實例:
const zeroes = [0,0,0,0,0]; //用6填充索引大于等于3的元素 zeroes.fill(6, 3);//[0,0,0,6,6] zeroes.fill(0);//重置 //用7填充索引大于等于1且小于3的元素 zeroes.fill(7,1,3);//[0,7,7,0,0] zeroes.fill(0);//重置 //用8填充索引大于等于1且小于4的元素 //(-4+zeroes.length=1) (-1+zeroes.length=4) zeroes.fill(8,-4,-1);//[0,8,8,8,0] //索引過低,忽略 zeroes.fill(1,-10,-6);//[0,0,0,0,0] //索引過高,忽略 zeroes.fill(1,10,15);//[0,0,0,0,0] //索引反向,忽略 zeroes.fill(2,4,2);//[0,0,0,0,0] //索引部分可用,填充可用部分 zeroes.fill(4,3,10);//[0,0,0,4,4]
到此這篇關(guān)于ES6復(fù)制和填充方法copyWithin()、fill()的具體使用的文章就介紹到這了,更多相關(guān)ES6 copyWithin()、fill()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript快速切換繁體中文和簡體中文的方法及網(wǎng)站支持簡繁體切換的絕招
這篇文章主要介紹了JavaScript快速切換繁體中文和簡體中文方法的相關(guān)資料,需要的朋友可以參考下2016-03-03JavaScript 防抖和節(jié)流遇見的奇怪問題及解決
這篇文章主要介紹了JavaScript 防抖和節(jié)流遇見的奇怪問題及解決,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-11-11Javascript Memoization 緩存函數(shù)使用說明
Memoization 是一種將函數(shù)返回值緩存起來的方法,學(xué)習(xí)js 面向?qū)ο蟮呐笥芽梢詤⒖枷隆?2010-05-05基于bootstrap的文件上傳控件bootstrap fileinput
這篇文章主要為大家詳細(xì)介紹了基于bootstrap的文件上傳控件bootstrap fileinput,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12