متدهای نوع دار (Typed Methods)
اینجا با «متدهای نوع دار (Typed Methods)» کار می کنیم. یعنی روش هایی برای ساخت، تغییر، و پیمایش «آرایه نوع دار». ساده جلو می رویم و هرکدام را کوتاه تمرین می کنیم.
from(): ساختن از iterable
متد «from()» از «iterable» مثل رشته یا آرایه، آرایه نوع دار می سازد.
const a1 = Int16Array.from("1234567890");
const a2 = Int16Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]);
of(): ساختن از آرگومان ها
متد «of()» از فهرستِ اعداد، آرایه نوع دار جدید می سازد.
const a3 = Int16Array.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 0);
شناخت نوع: constructor.name
ویژگی «constructor.name» نام نوع آرایه نوع دار را می دهد.
const myArr = Int16Array.of(1, 2, 3);
const typeName = myArr.constructor.name;
اندازه هر عضو: BYTES_PER_ELEMENT
این ویژگی، تعداد بایتِ هر عضو را برمی گرداند.
const myArr = Int16Array.of(1, 2, 3);
const size = myArr.BYTES_PER_ELEMENT;
متدهای مشترک مهم
آرایه های نوع دار بسیاری از متدهای آرایه معمولی را دارند؛ مثل map، filter، find، some، fill، slice، sort و ... .
fill(): پرکردن با مقدار
همه اعضا یا بخشی از آن ها را با یک مقدار پر می کند.
const myArr = Int16Array.of(1, 2, 3, 4, 5);
myArr.fill(200);
myArr.fill(200, 0, 3);
find(): پیدا کردن اولین عضو
اولین عضوی که شرط را پاس کند برمی گرداند.
const myArr = Int16Array.of(10, 20, 30);
const found = myArr.find(function(x) {
return x > 18;
});
some(): آیا حداقل یکی درست است؟
اگر حداقل یک عضو شرط را پاس کند، «true» می شود.
const myArr = Int16Array.of(10, 20, 30);
const anyBig = myArr.some(function(x) {
return x > 18;
});
استفاده در Fetch و Canvas
خیلی وقت ها با APIهای مرورگر استفاده می شوند؛ مانند «Fetch» و «Canvas».
fetch(url)
.then(function(request) {
return request.arrayBuffer();
})
.then(function(arrayBuffer) {
// پردازش داده دودویی اینجاست
});
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;
متدهایی که پشتیبانی نمی شوند
هشدار: طول آرایه نوع دار ثابت است؛ پس متدهایی مانند push، pop، shift، unshift و splice در دسترس نیست.
گام های تمرینی
- با from() یک Int16Array بساز.
- با of() آرایه دوم را بساز.
- با fill() بازه ای را پر کن.
- با find() اولین مقدار مناسب را بگیر.
- با some() وجود مقدار مناسب را بسنج.
جمع بندی سریع
- متدهای نوع دار ساخت و پیمایش را ساده می کنند.
- from و of راه های ساخت هستند.
- fill، find، some پرکاربرد و ساده اند.
- push و splice وجود ندارند.