میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

توابع تکرار آرایه در جاوا اسکریپت

توابع تکرار آرایه در جاوا اسکریپت

 توابع تکرار آرایه به توابعی گفته می شود که بر روی هر آیتم آرایه عمل می کنند.

تابع Array.forEach

متد forEach()یک تابع (تابع فراخوان شونده) را برای هر عنصر آرایه یک بار فراخوانی می کند.

var txt = “”;
var numbers = [45۴۹۱۶۲۵];
numbers.forEach(myFunction);

function myFunction(value, index, array) {
txt = txt + value + “<br>”;
}

توجه داشته باشید که این تابع ۳ آرگومان می گیرد:

  • مقدار آیتم
  • ایندکس آیتم
  • خود آرایه

مثال بالا فقط از پارامتر مقدار استفاده می کند. که می تواند بصورت زیر بازنویسی شود:

var txt = “”;
var numbers = [45۴۹۱۶۲۵];
numbers.forEach(myFunction);

function myFunction(value) {
txt = txt + value + “<br>”;
}

متد Array.map

متد map()با اعمال یک تابع بر روی هر عنصر آرایه، یک آرایه جدید ایجاد می کند.

متد map()تابع فراخوانی شونده را بر روی عناصر بدون مقدار، اجرا نمی کند.

متد map()آرایه اصلی را تغییر نمی دهد.

مثال زیر مقدار هر آیتم آرایه را ۲ برابر می کند:

var numbers1 = [45۴۹۱۶۲۵];
var numbers2 = numbers1.map(myFunction);

function myFunction(value, index, array) {
return value * ۲;
}

وجه داشته باشید که این تابع ۳ آرگومان می گیرد:

  • مقدار آیتم
  • ایندکس آیتم
  • خود آرایه

وقتی یک تابع فراخوانی فقط از پارامتر مقدار استفاده می کند، پارامترهای شاخص و آرایه می توانند حذف شوند:

 

متد Array.filter

متد filter() روی هر آیتم آرایه یک آزمون اجرا میکند و یک آرایه جدید با آنها می سازد.

این مثال یک آرایه جدید از عناصر آرایه اصلی با مقدار بزرگتر از ۱۸ ایجاد می کند:

var numbers = [45۴۹۱۶۲۵];
var over18 = numbers.filter(myFunction);

function myFunction(value, index, array) {
return value > ۱۸;
}

توجه داشته باشید که این تابع ۳ آرگومان می گیرد:

  • مقدار آیتم
  • ایندکس آیتم
  • خود آرایه

در مثال بالا، تابع فراخوانی از پارامترهای شاخص و آرایه استفاده نمی کند، بنابراین می توان آنها را حذف کرد:

var numbers = [45۴۹۱۶۲۵];
var over18 = numbers.filter(myFunction);

function myFunction(value) {
return value > ۱۸;
}

متد Array.reduce

متد reduce() یک تابع بر روی هر عنصر آرایه برای تولید یک مقدار جدید (کاهش مقدار قبلی) اجرا می کند.

تابع reduce() از چپ به راست در آرایه کار می کند. همچنین تابع reduceRight() از راست به چپ در آرایه کار می کند.

متد reduce() مقادیر آرایه اصلی را کاهش نمی دهد.

این مثال مجموع اعداد آرایه را پیدا می کند:

var numbers1 = [45۴۹۱۶۲۵];
var sum = numbers1.reduce(myFunction);

function myFunction(total, value, index, array) {
return total + value;
}

توجه داشته باشید که این تابع ۴ آرگومان میگیرد:

  • مجموع (ارزش اولیه / مقدار قبلی برگردانده شده)
  • مقدار آیتم
  • ایندکس
  • خود آرایه

مثال فوق از پارامترهای شاخص و آرایه استفاده نمی کند. می توان آن را بصورت زیر بازنویسی کرد:

var numbers1 = [45۴۹۱۶۲۵];
var sum = numbers1.reduce(myFunction);

function myFunction(total, value) {
return total + value;
}

متد reduce() می تواند یک مقدار اولیه را دریافت کند:

var numbers1 = [45۴۹۱۶۲۵];
var sum = numbers1.reduce(myFunction, ۱۰۰);function myFunction(total, value) {
return total + value;
}

متد Array.reduceRight

متد reduceRight() یک تابع بر روی هر عنصر آرایه برای تولید یک مقدار جدید (کاهش مقدار قبلی) اجرا می کند.

تابع reduceRight() از راست به چپ در آرایه کار می کند. همچنین تابع reduce() از چپ به راست در آرایه کار می کند.

این مثال مجموع اعداد در آرایه را پیدا می کند:

var numbers1 = [45۴۹۱۶۲۵];
var sum = numbers1.reduceRight(myFunction);

function myFunction(total, value, index, array) {
return total + value;
}

توجه داشته باشید که این تابع ۴ آرگومان میگیرد:

  • مجموع (ارزش اولیه / مقدار قبلی برگردانده شده)
  • مقدار آیتم
  • ایندکس
  • خود آرایه

مثال فوق از پارامترهای شاخص و آرایه استفاده نمی کند. می توان آن را بصورت زیر بازنویسی کرد:

var numbers1 = [45۴۹۱۶۲۵];
var sum = numbers1.reduceRight(myFunction);

function myFunction(total, value) {
return total + value;
}

متد Array.every

متد every() بررسی می کند که آیا تمام مقادیر آرایه یک آزمون را بدرستی پاس می کنند؟

این مثال بررسی می کند که آیا تمام مقادیر آرایه بزرگتر از ۱۸ می باشند؟

var numbers = [45۴۹۱۶۲۵];
var allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {
return value > ۱۸;
}

توجه داشته باشید که این تابع ۳ آرگومان می گیرد.

  • مقدار آیتم
  • ایندکس آیتم
  • خود آرایه

هنگامی که یک تابع فراخوانی شونده تنها با استفاده از پارامتر اول (مقدار) فراخوانی می شود، پارامترهای دیگر را می توان حذف کرد.

var numbers = [45۴۹۱۶۲۵];
var allOver18 = numbers.every(myFunction);

function myFunction(value) {
return value > ۱۸;
}

متد Array.some

متد some() بررسی می کند که آیا برخی از مقادیر آرایه یک آزمون را بدرستی پاس می کنند؟

این مثال بررسی می کند که آیا برخی از مقادیر آرایه بزرگتر از ۱۸ می باشند؟

var numbers = [45۴۹۱۶۲۵];
var someOver18 = numbers.some(myFunction);

function myFunction(value, index, array) {
return value > ۱۸;
}

توجه داشته باشید که این تابع ۳ آرگومان می گیرد:

  • مقدار آیتم
  • ایندکس آیتم
  • خود آرایه

متد Array.indexOf

متد indexOf() آرایه ای را برای مقدار مورد نظر جستجو می کند و ایندکس آیتم یافت شده را بر می گرداند.

توجه داشته باشید: اولین آیتم ایندکس ۰، آیتم دوم دارای ایندکس ۱ و الی آخر است.

var fruits = [“Apple”“Orange”“Apple”“Mango”];
var a = fruits.indexOf(“Apple”);

سینتکس indexOf

array.indexOf(item, start)

item : اجباری. آیتمی که باید جستجو شود

start : اختیاری. از کجا جستجو شروع شود. مقادیر منفی از انتها شمارش شده و به سمت پایان آرایه جستجو می شود

 

Array.indexOf()اگر آیتم یافت نشد مقدار ۱- برمی گرداند

اگر آیتم بیش از یک بار موجود باشد، موقعیت اولین وقوع را باز می گرداند.

متد Array.lastIndexOf

Array.lastIndexOf() همانند Array.indexOf() است، اما از انتهای آرایه جستجو می کند.

آرایه را برای مقدار “Apple” جستجو کنید:

var fruits = [“Apple”“Orange”“Apple”“Mango”];
var a = fruits.lastIndexOf(“Apple”);

سینتکس lastIndexOf

array.lastIndexOf(item, start)

item : اجباری. آیتمی که باید جستجو شود

start : اختیاری. از کجا جستجو شروع شود؟ مقادیر منفی از انتها شمارش شده و به سمت ابتدای آرایه جستجو می شود.

متد Array.find

متد find()مقدار اولین عنصر آرایه را که تست را پاس کند، باز می گرداند.

این مثال مقدار اولین عنصری را که بزرگتر از ۱۸ است را بر می گرداند:

var numbers = [4۹۱۶۲۵۲۹];
var first = numbers.find(myFunction);

function myFunction(value, index, array) {
return value > ۱۸;
}

توجه داشته باشید که این تابع ۳ آرگومان می گیرد:

  • مقدار آیتم
  • ایندکس آیتم
  • خود آرایه

متد Array.findIndex

متد findIndex()ایندکس اولین عنصر آرایه را که تست را پاس کند، باز می گرداند.

این مثال ایندکس اولین عنصر بزرگتر از ۱۸ را پیدا می کند:

var numbers = [4۹۱۶۲۵۲۹];
var first = numbers.findIndex(myFunction);

function myFunction(value, index, array) {
return value > ۱۸;
}

توجه داشته باشید که این تابع ۳ آرگومان می گیرد:

  • مقدار آیتم
  • ایندکس آیتم
  • خود آرایه

 

 

امیدواریم آموزش توابع تکرار آرایه در جاوا اسکریپت نیز برای شما مفید واقع شده باشد .برای مطالعه پست‌های بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟