JavaScript arrayBuffer.slice() मेथड एक नया ArrayBuffer लौटाता है जिसकी सामग्री दूसरे ArrayBuffer की कॉपी होती है, begin (सम्मिलित) से end (अनन्य) तक।
उदाहरण
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ArrayBuffer.slice()</title>
<style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.sample, .result { font-size: 18px; font-weight: 500; color: red; }
.result { color: black; }
</style>
</head>
<body>
<h1>JavaScript arrayBuffer.slice() प्रॉपर्टी</h1>
<div class="sample">मूल ऐरे बफर:</div>
<div class="result">स्लाइस्ड ऐरे बफर:</div>
<button class="Btn">यहां क्लिक करें</button>
<h3>ऊपर दिए गए बटन पर क्लिक करके ऐरे बफर को स्लाइस करके इसकी कॉपी बनाएं</h3>
<script>
let resultEle = document.querySelector(".result");
let sampleEle = document.querySelector(".sample");
const buffer = new ArrayBuffer(16);
const int32View = new Int32Array(buffer);
int32View[0] = 11;
int32View[1] = 22;
int32View[2] = 33;
int32View.forEach((item) => {
sampleEle.innerHTML += item + " , ";
});
const slicedBuffer = new Int32Array(buffer.slice(0, 8));
document.querySelector(".Btn").addEventListener("click", () => {
slicedBuffer.forEach((item) => {
resultEle.innerHTML += item + " , ";
});
});
</script>
</body>
</html>
आउटपुट

'यहां क्लिक करें' बटन पर क्लिक करने पर:

सिंटैक्स और पैरामीटर्स:
arrayBuffer.slice(begin[, end])
- begin - शुरू करने का बाइट ऑफसेट (सम्मिलित), डिफ़ॉल्ट 0
- end - समाप्त करने का बाइट ऑफसेट (अनन्य), डिफ़ॉल्ट बफर की लंबाई
- रिटर्न - नया ArrayBuffer ऑब्जेक्ट
उदाहरण में क्या होता है:
- 16 बाइट्स का ArrayBuffer बनाया जाता है
- Int32Array व्यू (4 बाइट्स प्रति इंट) के माध्यम से 3 मान सेट: 11, 22, 33
buffer.slice(0, 8)- पहले 8 बाइट्स (2 इंटीजर्स: 11, 22) की कॉपी बनाता है- नए Int32Array व्यू से स्लाइस्ड डेटा पढ़ा जाता है
महत्वपूर्ण बिंदु:
- कॉपी बनाता है - मूल बफर अपरिवर्तित रहता है
- बाइट-लेवल - एलिमेंट लेवल नहीं, बाइट ऑफसेट पर काम करता है
- नेगेटिव इंडेक्स - सपोर्ट नहीं करता (स्ट्रिंग/ऐरे स्लाइस के विपरीत)
- आउट-ऑफ-बाउंड्स - end > लंबाई होने पर पूरी बफर कॉपी करता है
उपयोग के मामले:
- बाइनरी डेटा प्रोसेसिंग (फाइल अपलोड, नेटवर्क पैकेट्स)
- बड़े बफर के भाग को अलग प्रोसेसिंग के लिए निकालना
- WebGL, Web Audio API, Web Workers के साथ डेटा शेयरिंग