JavaScript中fill()是一個用于填充數組的方法。它可以將一個數組所有或指定的元素都替換為一個靜態值或動態計算出的值。借助于這個方法,我們能夠在JavaScript中進行數組初始化或者重置等操作。
下面我們通過幾個簡單示例來講解fill()方法的具體使用。首先,我們定義一個長度為5的數組arr,并對其全都填充為1。
let arr = new Array(5).fill(1); console.log(arr); //[1, 1, 1, 1, 1]
fill()方法還支持在指定位置開始填充數據。我們只需要在方法的第二個參數中傳入起始索引即可。比如將數組中索引為2到4的元素都設置為2。
let arr = new Array(5).fill(1, 2, 5); console.log(arr); //[undefined, undefined, 1, 1, 1]
上述示例可以看出,在填充數組元素時,起始位置是包含在內的,結束位置是不包含在內的。在上述示例中,我們設置填充起始位置為2,所以索引為2的元素也被填充為了1。
當然,fill()方法也可以填充動態計算出的值。我們只需要傳入一個函數作為參數即可。下面是一個計算斐波那契數列的例子。
let arr = new Array(10).fill(0).map((item, index) =>{ if (index< 2) { return index; } else { return arr[index - 1] + arr[index - 2]; } }) console.log(arr); //[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
在上面這個例子中,我們先將數組全都填充為0,然后用map()方法再計算出斐波那契數列中每個位置對應的值。
通過上面的幾個例子可以看出,fill()方法非常方便實用,可以用于數組初始化、批量賦值等操作。在實際的開發中,我們經常會用到這個方法,應該認真學習掌握。