• خانه
  • بوت کمپ ها
  • مقالات
  • تیم ما
0
Farasod Banner

شرکت هوشمند سازان فرادید رسام

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

بخش های سایت

  • تیم فرادید
  • درباره ما
  • ارتباط با ما

فرادید رسام را در شبکه های اجتماعی دنبال کنید

طراحی و توسعه فرادید رسام ، ایران سال 1404

© کلیه حقوق این سایت محفوظ و متعلق به فرادید است.

logo-enamad
logo-samandehi
nezamsenfi

مهم‌ترین متدهای آرایه در جاوااسکریپت برای مصاحبه‌

زمان مطالعه 4 دقیقه
https://api.faradidrasam.ir/api/v1/storage/image/M9Y5GAXZFOOD64691951683718.jpgمحمدمهدی حسینیان
جاوااسکریپت۱۵ مهر ۱۴۰۴
مهم‌ترین متدهای آرایه در جاوااسکریپت برای مصاحبه‌

آرایه‌ها یکی از اصلی‌ترین انواع داده‌ در جاوااسکریپت هستند و کاربرد زیادی دارند. در مصاحبه‌های شغلی معمولاً از شما می‌پرسند که چطور داده‌ها را با متدهای آرایه مدیریت می‌کنید. در ادامه مهم‌ترین متدهای آرایه را بررسی می‌کنیم.

push

  • کارکرد: اضافه کردن یک یا چند عنصر به انتهای آرایه.

  • ورودی: یک یا چند مقدار برای اضافه شدن.

  • خروجی: طول جدید آرایه بعد از اضافه شدن عناصر.

  • تغییر آرایه اصلی: بله

مثال:

let numbers = [1, 2, 3];
let newLength = numbers.push(4, 5);
console.log(numbers); // [1, 2, 3, 4, 5]console.log(newLength); // 5

pop

  • کارکرد: حذف آخرین عنصر آرایه و برگرداندن آن.

  • ورودی: ندارد

  • خروجی: مقدار حذف شده

  • تغییر آرایه اصلی: بله

مثال:

let fruits = ["apple", "banana", "orange"];
let lastFruit = fruits.pop();
console.log(fruits); // ["apple", "banana"]console.log(lastFruit); // "orange"

shift

  • کارکرد: حذف اولین عنصر آرایه و برگرداندن آن.

  • ورودی: ندارد

  • خروجی: عنصر حذف شده

  • تغییر آرایه اصلی: بله

مثال:

let queue = [10, 20, 30];
let first = queue.shift();
console.log(queue); // [20, 30]console.log(first); // 10

unshift

  • کارکرد: اضافه کردن یک یا چند عنصر به ابتدای آرایه.

  • ورودی: یک یا چند مقدار

  • خروجی: طول جدید آرایه

  • تغییر آرایه اصلی: بله

مثال:

let numbers = [2, 3];
numbers.unshift(0, 1);
console.log(numbers); // [0, 1, 2, 3]

slice

  • کارکرد: برش بخشی از آرایه و برگرداندن یک آرایه جدید

  • ورودی: start index, end index (end اختیاری، عنصر end شامل نمی‌شود)

  • خروجی: آرایه جدید

  • تغییر آرایه اصلی: خیر

مثال:

let arr = [1, 2, 3, 4, 5];
let part = arr.slice(1, 4);
console.log(part); // [2, 3, 4]console.log(arr); // [1, 2, 3, 4, 5]

splice

  • کارکرد: حذف، جایگزینی یا اضافه کردن عناصر در یک آرایه

  • ورودی: start index, deleteCount, items…

  • خروجی: آرایه‌ای شامل عناصر حذف شده

  • تغییر آرایه اصلی: بله

مثال‌ها:

let arr = [1, 2, 3, 4, 5];
// حذفlet removed = arr.splice(2, 2);
console.log(arr); // [1, 2, 5]console.log(removed); // [3, 4]

// اضافه کردن
arr.splice(2, 0, 6, 7);
console.log(arr); // [1, 2, 6, 7, 5]

// جایگزینی
arr.splice(1, 2, 8, 9);
console.log(arr); // [1, 8, 9, 7, 5]

forEach

  • کارکرد: اجرای یک callback برای هر عنصر آرایه

  • ورودی: تابع callback با پارامترهای (element, index, array)

  • خروجی: ندارد (undefined)

  • تغییر آرایه اصلی: خیر (مگر callback تغییر دهد)

مثال:

let arr = [1, 2, 3];
arr.forEach(num => console.log(num * 2));
// 2, 4, 6

map

  • کارکرد: تولید یک آرایه جدید با نتایج callback

  • ورودی: تابع callback با پارامترهای (element, index, array)

  • خروجی: آرایه جدید

  • تغییر آرایه اصلی: خیر

مثال:

let numbers = [1, 2, 3];
let squared = numbers.map(n => n * n);
console.log(squared); // [1, 4, 9]console.log(numbers); // [1, 2, 3]

filter

  • کارکرد: ایجاد یک آرایه جدید با عناصر که شرط callback را دارند

  • ورودی: تابع callback (true/false)

  • خروجی: آرایه جدید

  • تغییر آرایه اصلی: خیر

مثال:

let nums = [1, 2, 3, 4, 5];
let even = nums.filter(n => n % 2 === 0);
console.log(even); // [2, 4]

reduce

  • کارکرد: کاهش آرایه به یک مقدار واحد با callback

  • ورودی: callback(accumulator, currentValue, index, array), initialValue (اختیاری)

  • خروجی: مقدار واحد (number, string, object…)

  • تغییر آرایه اصلی: خیر

مثال:

let nums = [1, 2, 3, 4];
let sum = nums.reduce((acc, n) => acc + n, 0);
console.log(sum); // 10

find

  • کارکرد: برگرداندن اولین عنصر که شرط callback را دارد

  • ورودی: تابع callback (true/false)

  • خروجی: عنصر پیدا شده یا undefined

  • تغییر آرایه اصلی: خیر

مثال:

let users = [{id:1,name:"Ali"}, {id:2,name:"Sara"}];
let user = users.find(u => u.id === 2);
console.log(user); // {id:2, name:"Sara"}

includes

  • کارکرد: بررسی وجود یک عنصر در آرایه

  • ورودی: مقدار برای چک کردن, start index (اختیاری)

  • خروجی: true/false

  • تغییر آرایه اصلی: خیر

مثال:

let fruits = ["apple","banana"];
console.log(fruits.includes("banana")); // trueconsole.log(fruits.includes("orange")); // false

sort

  • کارکرد: مرتب کردن آرایه

  • ورودی: callback برای مقایسه (اختیاری)

  • خروجی: آرایه مرتب شده

  • تغییر آرایه اصلی: بله

مثال:

let nums = [3, 1, 4, 2];
nums.sort((a,b) => a-b);
console.log(nums); // [1,2,3,4]

reverse

  • کارکرد: معکوس کردن آرایه

  • ورودی: ندارد

  • خروجی: آرایه معکوس شده

  • تغییر آرایه اصلی: بله

مثال:

let arr = [1,2,3];
arr.reverse();
console.log(arr); // [3,2,1]

indexOf

  • کارکرد: پیدا کردن اولین موقعیت (اندیس) یک عنصر در آرایه

  • ورودی: مقدار برای پیدا کردن, start index (اختیاری)

  • خروجی: اندیس عنصر یا -1 اگر پیدا نشد

  • تغییر آرایه اصلی: خیر

مثال:

let fruits = ["apple", "banana", "orange", "banana"];
console.log(fruits.indexOf("banana")); // 1console.log(fruits.indexOf("grape")); // -1

lastIndexOf

  • کارکرد: پیدا کردن آخرین موقعیت یک عنصر در آرایه

  • ورودی: مقدار برای پیدا کردن, start index (اختیاری)

  • خروجی: اندیس عنصر یا -1

  • تغییر آرایه اصلی: خیر

مثال:

let fruits = ["apple", "banana", "orange", "banana"];
console.log(fruits.lastIndexOf("banana")); // 3

every

  • کارکرد: بررسی اینکه همه عناصر آرایه شرطی را داشته باشند

  • ورودی: callback (true/false)

  • خروجی: true/false

  • تغییر آرایه اصلی: خیر

مثال:

let nums = [2, 4, 6];
console.log(nums.every(n => n % 2 === 0)); // true

findIndex

  • کارکرد: پیدا کردن اندیس اولین عنصری که شرط callback را داشته باشد

  • ورودی: callback (true/false)

  • خروجی: اندیس یا -1

  • تغییر آرایه اصلی: خیر

مثال:

let users = [{id:1},{id:2},{id:3}];
let idx = users.findIndex(u => u.id === 2);
console.log(idx); // 1

concat

  • کارکرد: ترکیب دو یا چند آرایه و برگرداندن آرایه جدید

  • ورودی: یک یا چند آرایه یا مقدار

  • خروجی: آرایه جدید

  • تغییر آرایه اصلی: خیر

مثال:

let arr1 = [1,2];
let arr2 = [3,4];
let merged = arr1.concat(arr2);
console.log(merged); // [1,2,3,4]console.log(arr1); // [1,2]

join

  • کارکرد: تبدیل آرایه به رشته با جداکننده مشخص

  • ورودی: separator (اختیاری، پیشفرض ,)

  • خروجی: رشته

  • تغییر آرایه اصلی: خیر

مثال:

let words = ["Hello", "World"];
console.log(words.join(" ")); // "Hello World"console.log(words.join(",")); // "Hello,World"

flat

  • کارکرد: صاف کردن آرایه‌های تو در تو تا عمق مشخص

  • ورودی: عمق (depth) اختیاری، پیشفرض 1

  • خروجی: آرایه جدید

  • تغییر آرایه اصلی: خیر

مثال:

let arr = [1, [2, [3, 4]]];
console.log(arr.flat()); // [1, 2, [3,4]]console.log(arr.flat(2)); // [1, 2, 3, 4]"

flatMap

  • کارکرد: ترکیب map و flat با عمق 1

  • ورودی: callback

  • خروجی: آرایه جدید

  • تغییر آرایه اصلی: خیر

مثال:

let arr = [1, 2, 3];
let result = arr.flatMap(n => [n, n*2]);
console.log(result); // [1,2,2,4,3,6]

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

نظرات و پرسش ها

  • محمدعلی رهرو

    ۱۴ روز پیش

    سلام بسیار مفید و کاربردی بود تشکر🌹

    • https://api.faradidrasam.ir/api/v1/storage/image/M9Y5GAXZFOOD64691951683718.jpg

      محمدمهدی حسینیان

      ۱۳ روز پیش

      خوشحالم که برات مفید بوده اقای رهروی عزیز

https://api.faradidrasam.ir/api/v1/storage/image/M9Y5GAXZFOOD64691951683718.jpg

محمدمهدی حسینیان

نویسنده مقاله

محمدمهدی حسینیان، برنامه‌نویس فرانت‌اند با سه سال سابقه‌ی حرفه‌ای در توسعه‌ی وب با React و Next.js هستم. در این مدت روی پروژه‌های متنوعی کار کرده‌ام و تجربه‌ی بالایی در طراحی و پیاده‌سازی رابط‌های کاربری بهینه و تعاملی دارم. عاشق یادگیری، چالش‌های فنی و ارتقای مهارت‌های خودم هستم. همچنین به تدریس برنامه‌نویسی علاقه دارم و سعی می‌کنم دانش خودم را با دیگران به اشتراک بگذارم. هدفم توسعه‌ی محصولات باکیفیت و بهبود تجربه‌ی کاربری در دنیای وب است.

اشتراک گذاری در :