متدهای پیمایش آرایه در جاوااسکریپت

از ویکی کد
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو


https://www.w3schools.com/js/js_array_iteration.asp

Array iteration methods operate on every array item.

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

Array.forEach()

متد Array.forEach()

The forEach() method calls a function (a callback function) once for each array element.

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

Example

var txt = "";

var numbers = [45, 4, 9, 16, 25];

numbers.forEach(myFunction);


function myFunction(value, index, array) {

  txt = txt + value + "<br>";

}

Note that the function takes 3 arguments:

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

  • The item value

مقدار عنصر

  • The item index

اندیس عنصر

  • The array itself

خود آرایه

The example above uses only the value parameter. The example can be rewritten to:

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

Example

var txt = "";

var numbers = [45, 4, 9, 16, 25];

numbers.forEach(myFunction);


function myFunction(value) {

  txt = txt + value + "<br>";

}

Array.forEach() is supported in all browsers except Internet Explorer 8 or earlier:

متد Array.forEach() در تمامی مرورگرها جز مرورگر اینترنت اکسپلور ورژن هشت و یا قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Array.map()

متد array.map()

The map() method creates a new array by performing a function on each array element.

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

The map() method does not execute the function for array elements without values.

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

The map() method does not change the original array.

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

This example multiplies each array value by 2:

مثال زیر ، هر عنصر آرایه را در عدد 2 ضرب می کند :

Example

var numbers1 = [45, 4, 9, 16, 25];

var numbers2 = numbers1.map(myFunction);


function myFunction(value, index, array) {

  return value * 2;

}

Note that the function takes 3 arguments:

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

  • The item value

مقدار عنصر

  • The item index

اندیس عنصر

  • The array itself

خود آرایه

When a callback function uses only the value parameter, the index and array parameters can be omitted:

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

Example

var numbers1 = [45, 4, 9, 16, 25];

var numbers2 = numbers1.map(myFunction);


function myFunction(value) {

  return value * 2;

}

Array.map() is supported in all browsers except Internet Explorer 8 or earlier.

متد Array.map() در تمامی مرورگرها جز مرورگر اینترنت اکسپلور ورژن هشت و یا قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Array.filter()

متد Array.filter()

The filter() method creates a new array with array elements that passes a test.

متد filter() یک آرایه جدید را با عناصر آرایه با یک شرط ایجاد می کند .

This example creates a new array from elements with a value larger than 18:

مثال زیر یک آرایه جدید از عناصری که مقدار آنها از 18 بیشتر است را میسازد :

Example

var numbers = [45, 4, 9, 16, 25];

var over18 = numbers.filter(myFunction);


function myFunction(value, index, array) {

 return value > 18;

}

Note that the function takes 3 arguments:

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

  • The item value

مقدار عنصر

  • The item index

اندیس عنصر

  • The array itself

خود آرایه

In the example above, the callback function does not use the index and array parameters, so they can be omitted:

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

Example

var numbers = [45, 4, 9, 16, 25];

var over18 = numbers.filter(myFunction);


function myFunction(value) {

 return value > 18;

}

Array.filter() is supported in all browsers except Internet Explorer 8 or earlier.

متد Array.filter()   در تمامی مرورگرها جز مرورگر اینترنت اکسپلور ورژن هشت و یا قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Array.reduce()

متد Array.reduce()

The reduce() method runs a function on each array element to produce (reduce it to) a single value.

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

The reduce() method works from left-to-right in the array. See also reduceRight().

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

The reduce() method does not reduce the original array.

متد reduce() تابع اصلی را ساده نمی کند .

This example finds the sum of all numbers in an array:

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

Example

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduce(myFunction);


function myFunction(total, value, index, array) {

  return total + value;

}

Note that the function takes 4 arguments:

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

·  The total (the initial value / previously returned value)

مجموع ( مقدار اصلی ، مقدار بازگشتی قبلی )

·  The item value

مقدار عنصر

·  The item index

اندیس عنصر

·  The array itself

خود آرایه

The example above does not use the index and array parameters. It can be rewritten to:

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

Example

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduce(myFunction);


function myFunction(total, value) {

  return total + value;

}

The reduce() method can accept an initial value:

متد reduce() می تواند یک مقدار اصلی یا initial را به عنوان پارامتر ورودی قبول کند :

Example

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduce(myFunction, 100);


function myFunction(total, value) {

 return total + value;

}

Array.reduce() is supported in all browsers except Internet Explorer 8 or earlier.

متد Array.reduce() در تمامی مرورگرها به جز اینترنت اکسپلور ورژن 8 و یا ورژن های قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Array.reduceRight()

متد Array.reduceRight()

The reduceRight() method runs a function on each array element to produce (reduce it to) a single value.

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

The reduceRight() works from right-to-left in the array. See also reduce().

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

The reduceRight() method does not reduce the original array.

متد reduceRight() تابع اصلی را (ساده) یا تبدیل نمی کند .

This example finds the sum of all numbers in an array:

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

Example

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduceRight(myFunction);


function myFunction(total, value, index, array) {

  return total + value;

}

Note that the function takes 4 arguments:

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

·  The total (the initial value / previously returned value)

مجموع ( مقدار اصلی ، مقدار بازگشتی قبلی )

·  The item value

مقدار عنصر

·  The item index

اندیس عنصر

·  The array itself

خود آرایه

The example above does not use the index and array parameters. It can be rewritten to:

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

Example

var numbers1 = [45, 4, 9, 16, 25];

var sum = numbers1.reduceRight(myFunction);


function myFunction(total, value) {

 return total + value;

}

Array.reduceRight() is supported in all browsers except Internet Explorer 8 or earlier.

متد Array.reduceRight() در تمامی مرورگرها به جز اینترنت اکسپلور به جز ورژن هشت و ورژنهای قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Array.every()

متد های Array.every()

The every() method check if all array values pass a test.

متد every() وجود یک شرط را بر روی تمام عناصر یک آرایه بررسی می کند .

This example check if all array values are larger than 18:

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

Example

var numbers = [45, 4, 9, 16, 25];

var allOver18 = numbers.every(myFunction);


function myFunction(value, index, array) {

  return value > 18;

}

Note that the function takes 3 arguments:

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

·  The item value

مقدار عنصر

·  The item index

اندیس عنصر

·  The array itself

خود آرایه

When a callback function uses the first parameter only (value), the other parameters can be omitted:

زمانی که تابع فراخوانی شده فقط از یک پارامتر (پارامتر مقدار یا Value) استفاده می کند ، سایر پارامتر ها می تواند نوشته نشود :

Example

var numbers = [45, 4, 9, 16, 25];

var allOver18 = numbers.every(myFunction);


function myFunction(value) {

  return value > 18;

}

Array.every() is supported in all browsers except Internet Explorer 8 or earlier.

متد Array.every()  در تمامی مرورگرها به جز اینترنت اکسپلور به جز ورژن هشت و ورژنهای قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Array.some()

متد Array.some()

The some() method check if some array values pass a test.

متد some() وجود یک شرط را بر روی هر یک از عناصر آرایه بررسی می کند .

This example check if some array values are larger than 18:

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

Example

var numbers = [45, 4, 9, 16, 25];

var someOver18 = numbers.some(myFunction);


function myFunction(value, index, array) {

  return value > 18;

}

Note that the function takes 3 arguments:

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

·  The item value

مقدار عنصر

·  The item index

اندیس عنصر

·  The array itself

خود آرایه

Array.some() is supported in all browsers except Internet Explorer 8 or earlier.

متد Array.some()  در تمامی مرورگرها به جز اینترنت اکسپلور به جز ورژن هشت و ورژنهای قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Array.indexOf()

متد Array.indexOf()

The indexOf() method searches an array for an element value and returns its position.

متد indexOf() در بین عناصر یک آرایه یک مقدار را جستجو می کند و سپس پس از یافتن مقدار ، شماره اندیس آن را باز میگرداند .

Note: The first item has position 0, the second item has position 1, and so on.

نکته : اولین عنصر دارای اندیس صفر است ، دومین عنصر دارای اندیس یک و به همین ترتیب ادامه دارد .

Example

Search an array for the item "Apple":

درون یک آرایه به دنبال عنصر "Apple" می گردد :

var fruits = ["Apple", "Orange", "Apple", "Mango"];

var a = fruits.indexOf("Apple");

Array.indexOf() is supported in all browsers except Internet Explorer 8 or earlier.

متد Array.indexOf() در تمامی مرورگرها به جز مرورگر اینترنت اکسپلور ورژن هشت و ورژن های قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Syntax

شیوه نوشتار دستور

array.indexOf(item, start)

Item این پارامتر اجباری است . مقداری که می بایست متد به دنبال آن بگردد .
Start این پارامتر اختیاری است . موقعیتی که جستجو از آن می بایست شروع شود . اگر مقدار منفی به این پارامتر داده شود موجب می شود که اندیس شماره جستجو از آخر ارایه شمارده شود و به سمت پایان آرایه عمل جستجو ادامه می یابد .

Array.indexOf() returns -1 if the item is not found.

متد Array.indexOf() مقدار 1- را در صورتی که عنصر مورد نظر پیدا نشود برمیگرداند .

If the item is present more than once, it returns the position of the first occurrence.

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

Array.lastIndexOf()

متد Array.lastIndexOf()

Array.lastIndexOf() is the same as Array.indexOf(), but returns the position of the last occurrence of the specified element.

متد Array.lastIndexOf() بسیار شبیه به متد Array.indexOf() است اما این متد ، اندیس آخرین عنصر متناظر را باز می گرداند .

Example

Search an array for the item "Apple":

کد زیر در یک آرایه به دنبال عنصر "Apple " می گردد .

var fruits = ["Apple", "Orange", "Apple", "Mango"];

var a = fruits.lastIndexOf("Apple");

Array.lastIndexOf() is supported in all browsers except Internet Explorer 8 or earlier.

متد Array.lastIndexOf() در تمامی مرورگرها به جز مرورگر اینترنت اکسپلور به جز ورژن هشت و ورژنهای قدیمی تر پشتیبانی می شود .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
بله 9.0 بله بله بله

Syntax

شیوه نوشتار دستور

array.lastIndexOf(item, start)

Item این پارامتر اجباری است . مقداری که می بایست متد به دنبال آن بگردد .
Start این پارامتر اختیاری است . موقعیتی که جستجو از آن می بایست شروع شود . اگر مقدار منفی به این پارامتر داده شود موجب می شود که اندیس شماره جستجو از آخر ارایه شمارده شود و به سمت پایان آرایه عمل جستجو ادامه می یابد .

Array.find()

متد Array.find()

The find() method returns the value of the first array element that passes a test function.

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

This example finds (returns the value of) the first element that is larger than 18:

این مثال اولین عنصر (مقدار اولین عنصر) را که بزرگتر از عدد 18 باشد را برمیگرداند :

Example

var numbers = [4, 9, 16, 25, 29];

var first = numbers.find(myFunction);


function myFunction(value, index, array) {

 return value > 18;

}

Note that the function takes 3 arguments:

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

·  The item value

مقدار عنصر

·  The item index

اندیس عنصر

·  The array itself

خود آرایه

Array.find() is not supported in older browsers. The first browser versions with full support is listed below.

متد Array.find() در مرورگرهای قدیمی پشتیبانی نمی شود . تمامی اولین ورژن های مرورگرهایی که از این قابلیت پشتیبانی می کنند را می توانید در جدول زیر ببینید .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
45 12 25 8 32

Array.findIndex()

متد Array.findIndex()

The findIndex() method returns the index of the first array element that passes a test function.

متد findIndex() اندیس اولین عنصری را که در آن شرط برقرار باشد را برمی گرداند .

This example finds the index of the first element that is larger than 18:

این مثال، اندیس اولین عنصری را که بزرگتر از 18 باشد را بدست می آورد :

Example

var numbers = [4, 9, 16, 25, 29];

var first = numbers.findIndex(myFunction);


function myFunction(value, index, array) {

  return value > 18;

}

Note that the function takes 3 arguments:

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

·  The item value

مقدار عنصر

·  The item index

اندیس عنصر

·  The array itself

خود آرایه

Array.findIndex() is not supported in older browsers. The first browser versions with full support is listed below.

متد Array.findIndex()  در مرورگرهای قدیمی پشتیبانی نمی شود . تمامی اولین ورژن های مرورگرهایی که از این قابلیت پشتیبانی می کنند را می توانید در جدول زیر ببینید .

کروم اینترنت اکسپلولر فایرفاکس سافاری اپرا
45 12 25 8 32