जावास्क्रिप्ट का fill() मेथड एरे में एलिमेंट्स को एक स्टैटिक वैल्यू से भरने के लिए उपयोग किया जाता है।
सिंटैक्स इस प्रकार है:
array.fill(value, start, end)
ऊपर, value एरे में भरने का मान है, start एरे भरना शुरू करने का इंडेक्स है, जबकि end एरे भरना बंद करने का इंडेक्स है।
उदाहरण 1
<!DOCTYPE html>
<html>
<body>
<h2>रैंकिंग पॉइंट्स</h2>
<button onclick="display()">Fill</button>
<p id="demo"></p>
<script>
var pointsArr = [50, 100, 200, 300, 400, 500, 600];
document.getElementById("demo").innerHTML = pointsArr;
function display() {
document.getElementById("demo").innerHTML = pointsArr.fill(1000);
}
</script>
</body>
<!DOCTYPE html>
आउटपुट
क्लिक से पहले: 50,100,200,300,400,500,600
क्लिक के बाद: 1000,1000,1000,1000,1000,1000,1000
उदाहरण 2 - आंशिक भरना
<!DOCTYPE html>
<html>
<body>
<h2>स्टूडेंट नाम</h2>
<button onclick="display()">Fill</button>
<p id="demo"></p>
<script>
var stdName = ["John", "Tom", "David"];
document.getElementById("demo").innerHTML = stdName;
function display() {
document.getElementById("demo").innerHTML = stdName.fill("Jacob", 1, 2);
}
</script>
</body>
<!DOCTYPE html>
आउटपुट
क्लिक से पहले: John,Tom,David
क्लिक के बाद: John,Jacob,David (केवल इंडेक्स 1 भरा गया)
महत्वपूर्ण विशेषताएं
- म्यूटेट करता है: मूल एरे बदल जाता है
- रिटर्न: उसी एरे का रेफरेंस
- पैरामीटर्स: value (आवश्यक), start (वैकल्पिक, डिफॉल्ट 0), end (वैकल्पिक, डिफॉल्ट length)
- नेगेटिव इंडेक्स: अंत से गिनती (end: -1 अंतिम एलिमेंट से पहले)
उपयोग केस
// एरे इनिशियलाइज़ करें
const arr = new Array(5).fill(0); // [0, 0, 0, 0, 0]
// मैट्रिक्स इनिशियलाइज़ करें (सावधान: समान रेफरेंस!)
// गलत:
const matrix = new Array(3).fill(new Array(3).fill(0)); // सभी पंक्तियां समान रेफरेंस!
// सही:
const matrix = Array.from({ length: 3 }, () => new Array(3).fill(0));
// ऑब्जेक्ट्स के साथ सावधानी
const objects = new Array(3).fill({}); // सभी समान ऑब्जेक्ट रेफरेंस!
objects[0].name = 'A';
console.log(objects); // [{name:'A'}, {name:'A'}, {name:'A'}]
// सही:
const objects = Array.from({ length: 3 }, () => ({}));