مرجع قوائم التجميعات من نوع JavaScript

مجموعات النوع في JavaScript

في Javascript، المجموعات المتعددة من النوع هي حاويات مشابهة للصفيف لبيانات ثنائية.

لا يوجد الخاصية أو الكائن JavaScript باسم TypedArray، ولكن يمكن استخدام الخاصية والطريقة مع كائن المجموعات المتعددة من النوع

المثال

const myArr = new Int8Array(10);

جربها بنفسك

المعلمات لتعدد الأنواع من المجموعات

المعلمات نوع البيانات النطاق
Int8Array عدد معنوي (حرف) -128/127
Uint8Array عدد غير معنوي (مضاعف الثمانية) 0/255
Uint8ClampedArray عدد غير معنوي (مضاعف الثمانية) 0/255
Int16Array عدد قصير -32768/32767
Uint16Array عدد قصير غير معنوي 0/65535
Int32Array عدد طويل معنوي -231/231-1
Uint32Array عدد طويل غير معنوي 0/232
Float32Array مزدوجة الدقة - 7 رقم فعّال 1.2x10-38/3.4x1038
Float64Array مزدوجة الدقة - 16 رقم فعّال 5.0x10-324/1.8x10308
BigInt64Array عدد كبير معنوي -263/263-1
BigUint64Array رقم كبير غير معتمد 0/264

شرح

الأرقام المتجهة النمطية ليست أرقام متجهة.

يُرجع isArray() على الأرقام المتجهة النمطية إلى false.

لا يدعم الأرقام المتجهة النمطية العديد من طرق الأرقام المتجهة (مثل push و pop).

الأرقام المتجهة النمطية هي كائنات مشابهة للأرقام المتجهة تستخدم لتخزين البيانات الثنائية في الذاكرة.

الطريقة والخاصية للأرقام المتجهة النمطية

الطريقة / الخاصية وصف
BYTES_PER_ELEMENT حساب الخاصية المستخدمة لتخزين عدد البايتات لكل عنصر.
fill() ملء جميع العناصر用一个 قيمة.
find() يُرجع العنصر الأول الذي يتوافق مع الشروط.
name يُرجع اسم الأرقام المتجهة النمطية.
of() إنشاء الأرقام المتجهة النمطية باستخدام المجموعات.
some() إذا كان العنصر يتوافق مع الشروط، يتم العودة إلى true.

مقارنة Uint8Array و Uint8ClampedArray

الفرق بين Uint8Array و Uint8ClampedArray يكمن في كيفية إضافة القيم.

إذا تم تعيين عنصر من Uint8ClampedArray خارج نطاق 0-255، فإنه يتم تعيينه افتراضياً إلى 0 أو 255.

الأرقام المتجهة النمطية تأخذ فقط 8 أرقام مقدمات.

فوائد الأرقام المتجهة النمطية

تقدم الأرقام المتجهة النمطية طريقة معالجة البيانات الثنائية بفعالية تشبه الأرقام المتجهة في C.

الأرقام المتجهة النمطية هي ذاكرة مباشرة، لذا يمكن للجافا سكربت نقلها إلى أي دالة دون الحاجة إلى تحويل البيانات إلى شكل آخر.

الأرقام المتجهة النمطية أسرع بكثير من الأرقام العادية، ويُستخدم لتقديم البيانات إلى الدوال التي يمكنها استخدام البيانات الثنائية الأصلية (ألعاب الكمبيوتر، WebGL، Canvas، API الملف، API الوسائط).

دعم API المتصفح للأرقام المتجهة النمطية

مثال Fetch API

fetch(url)
.then(request => request.arrayBuffer())
.then(arrayBuffer =>...);

مثال Canvas

const canvas = document.getElementById('my_canvas');
const context = canvas.getContext('2d');
const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
const uint8ClampedArray = imageData.data;

دعم المتصفحات

typedArray هي خصائص ECMAScript6 (ES6).

جميع المتصفحات الحديثة يدعمون ES6 (JavaScript 2015).

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
نعم نعم نعم نعم نعم

Internet Explorer 11 (وإصداراتها الأقدم) لا يدعمها typedArray.