سلام دوستان عزیز ، صبحتون بخیر ، امیدوارم که خوب وخوش باشید.قدرت زبان برنامه نویسی تحت وب جاوا اسرکیپت مبتنی بر توابع و متدهای توانمندی است که در آن بکار می رود.

تبدیل آرایه به رشته / array to string conversion

کلیه ی اشیا در زبان javascript دارای متدهای valueOf() و toString() می باشند.

تابع valueOf() رفتار یا عملکرد پیش فرض یک آرایه است. متد بیان شده یک آرایه را به صورت رشته (string) بازگردانی می نماید.

مثال

نمونه یک
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
document.getElementById(“demo”).innerHTML = fruits.valueOf();

در زبان جاوا اسکریپت، هر دو متدهای valueOf() و toString() یکسان محسوب می شوند.

مثال

نمونه دو
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
document.getElementById(“demo”).innerHTML = fruits.toString();

متد join() تمامی المان های آرایه را در قالب یک رشته به هم متصل می کند. عملکرد این متد درست مشابه toString() می باشد با این تفاوت که با استفاده از این تابع می توان separator (جدا کننده) بین المان های آرایه را نیز تعریف و مشخص کرد.

مثال


نمونه سه
?
۱
۲
۳
۴
۵
۶

Banana * Orange * Apple * Mango

var fruits = [“Banana”, “Orange”,”Apple”, “Mango”];
document.getElementById(“demo”).innerHTML = fruits.join(” * “);

استفاده از توابعpop() و push()

به هنگام کار با آرایه ها، به راحتی می توان المان جدید به آن ها ضمیمه کرد و یا یک المان موجود را از آن حذف کرد.

توابع یا متدهای pop () و push () هم دقیقا همین کار را انجام می دهند.

تابع pop () یک آیتم موجود را از انتهای آرایه ی مورد نظر حذف می کند.

مثال

نمونه چهار
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.pop(); // Removes the last element (“Mango”) from fruits

این در حالی است که متد push() یک المان جدید به انتهای آرایه ی موجود اضافه می کند.

نکته

توجه داشته باشید که [۰] اولین المان در یک آرایه می باشد و [۱] دومین و همین طور ادامه می یابد. اندیس (شمارنده) های آرایه از عدد ۰ آغاز می گردند.

مثال

نمونه پنج
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.push(“Kiwi”); // Adds a new element (“Kiwi”) to fruits

متد pop () رشته ای را برمی گرداند که از آرایه حذف گردیده، متد push () تعداد المان های آرایه ی جدید را بازیابی می کند.

حذف اولین المان یک آرایه – تابع shift

Shifting یا جابجایی درست همانند متد poping (حذف المان از انتهای آرایه) عمل می کند با این تفاوت که بجای المان پایانی، المان آغازین یک آرایه را دستکاری می کند.

تابع shift() اولین المان موجود در یک آرایه را حذف می کند.

مثال

نمونه شش
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.shift(); // Removes the first element “Banana” from fruits

در مقابل تابع unshift را داریم. این تابع یک المان به ابتدای آرایه ی جاری اضافه می کند.

مثال

نمونه هفت
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.unshift(“Lemon”); // Adds a new element “Lemon” to fruits

تابع shift () رشته ای را باز می گرداند که از ابتدای آرایه حذف گردیده است.

متد unshift () تعداد المان های جدید آرایه را بازمی گرداند.

هر المان در آرایه دارای یک شماره ی (اندیس) منحصر بفرد است که می توان از طریق آن به المان مورد نظر دسترسی پیدا کرد.

مثال

نمونه هشت
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits[0] = “Kiwi”; // Changes the first element of fruits to “Kiwi”

با استفاده از خاصیت (property) length می توان به یک آرایه، المان جدید افزود.

مثال

نمونه نه
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits[fruits.length] = “Kiwi”; // Appends “Kiwi” to fruit

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

مثال

نمونه ده
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
delete fruits[0]; // Changes the first element in fruits to undefined

تابع splice

به وسیله ی این متد می توان آیتم های جدید به یک آرایه افزود. اضافه کردن یک عنصر جدید در مکان (قرار گیری) ۲ یک آرایه از طریق این متد صورت می گیرد.

مثال

نمونه یازده
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.splice(2, 0, “Lemon”, “Kiwi”);

اولین پارامتر (عدد ۲) موقعیتی که المان جدید در آن به آرایه ی مورد نظر اضافه می شود را تعیین می کند.

دومین پارامتر (۰) تعداد المان هایی که باید حذف شوند را مشخص می کند.

باقی پارامترها (“Lemon” و (“Kiwi” نیز المان های جدیدی که قرار است به آرایه اضافه شوند را تعریف می کنند.

حذف المان ها با استفاده از آرایه با استفاده از splice()

با استفاده ار متد splice () همچنین می توان المان جدید به یک آرایه اضافه کرد.

مثال

نمونه دوازده
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.splice(0, 1); // Removes the first element of fruits

اولین پارامتر (۰) گویا و تعیین کننده ی مکانی است که المان جدید در آن به آرایه اضافه می شود.

دومین پارامتر (۱) تعداد المان هایی که باید از آرایه ی جاری حذف گردند را مشخص می کند.

بقیه ی پارامترها حذف گشته و هیچ المان جدیدی اضافه نمی گردد.

مرتب سازی آرایه به ترتیب حروف الفبا

به کمک تابع sort() می توان یک آراِیه را به ترتیب حروف الفبا مرتب کرد.

مثال

نمونه سیزده
?
۱
۲

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.sort(); // Sorts the elements of fruits

وارونه کردن ترتیب عناصر آرایه

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

مثال

نمونه چهارده
?
۱
۲
۳

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.sort(); // Sorts the elements of fruits
fruits.reverse(); // Reverses the order of the elements

مرتب سازی عددی

به صورت پیش فرض تابع sort ()، مقادیر را به صورت رشته یا به عنوان گروهی از رشته ها مرتب می کند. این امر در مرتب سازی رشته ها بسیار کارامد عمل می کند “Apple”) پیش از “Banana” قرار می گیرد). استفاده از این تابع در حالت پیش فرض آن برای مرتب سازی اعداد نتایج ناصحیح بدست می دهد. به عنوان مثال ” ۲۵ ” از ” ۱۰۰ ” بزرگتر است زیرا که ” ۲ ” از “۱ ” بزرگتر محسوب می شود. به این خاطر است که متد مزبور در مرتب سازی اعداد منجر به تولید نتایج ناصحیح می شود.

جهت رفع این مشکل می توان از یک compare function (تابع مقایسه ای) بهره گرفت. در مثال زیر آرایه به ترتیب صعودی مرتب می شود.

مثال

نمونه پانزده
?
۱
۲

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});

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

مثال

نمونه شانزده
?
۱
۲

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});

تابع مقایسه ای (compare function)

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

این تابع باید با توجه به آرگومان ها یک مقدار منفی، صفر یا مقدار مثبت بازگردانی نماید.

function(a, b){return a-b}‎

تابع sort() دو مقدار را با هم مقایسه کرده و آن ها را به تابع مقایسه ای (compare function) ارسال می کند. سپس مقادیر مذکور را با توجه به مقدار بازگشتی (return value) مرتب می سازد.

مثال

زمانی که مقادیر ۴۰ و ۱۰۰ را با هم مقایسه می کنیم، متد sort() تابع مقایسه ای (۴۰,۱۰۰) را فرا می خواند.

تابع مزبور عملیات ۴۰-۱۰۰ را محاسبه کرده و مقدار -۶۰ که مقداری منفی می باشد را باز می گرداند.

پیدا کردن بیشترین (یا کمترین) مقدار یک آرایه

چگونه می توان بیشترین مقدار را در یک آرایه یافت؟ در مثال زیر مقادیر آرایه به ترتیب نزولی مرتب سازی می شوند.

مثال

نمونه هفده
?
۱
۲
۳

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
// now points[0] contains the highest value

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

مثال

نمونه هجده
?
۱
۲
۳

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
// now points[0] contains the lowest value

توابع متصل سازی آرایه ها

متد concat() با اتصال دو آرایه به هم، آرایه ای جدید خلق می کند.

مثال

نمونه نوزده
?
۱
۲
۳

var myGirls = [“Cecilie”, “Lone”];
var myBoys = [“Emil”, “Tobias”,”Linus”];
var myChildren = myGirls.concat(myBoys); // Concatenates (joins) myGirls and myBoys

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

مثال

نمونه بیست
?
۱
۲
۳
۴
۵

Example
var arr1 = [“Cecilie”, “Lone”];
var arr2 = [“Emil”, “Tobias”,”Linus”];
var arr3 = [“Robin”, “Morgan”];
var myChildren = arr1.concat(arr2, arr3); // Concatenates arr1 with arr2 and arr3

تابع slice()

متد slice() یک تکه از آرایه ی موجود را برش داده و داخل آرایه ی دیگری می ریزد.

مثال

بیست و یکم
?
۱
۲

var fruits = [“Banana”, “Orange”, “Lemon”, “Apple”, “Mango”];
var citrus = fruits.slice(1, 3);