فرید اثنی عشری
فرید اثنی عشری
خواندن ۳ دقیقه·۴ سال پیش

حذف کردن یک عضو از یک آرایه در جاوا اسکریپت:

آقا من چند وقت پیش مشغول کارم بودم که نیازم شد که یه عضوی رو از یه آرایه ای پاک کنم. خب اولش گفتم قطع به یقین توی prototype کلاس Array یه متدی برای این کار هست. رفتم یخورده سِرچیدمو(سرچ کردم) یکی دو راه برای این کار پیدا کردم. دیدم انگار مطلب جالبی میشه اینه که گفتم بیام اینجاهم با بقیه به اشتراک بزارم.

راه اول- استفاده از تابع ()pop :

این تابع یکی از تابع های prototype کلاس Array هست. کاری که این تابع می کنه، اینه که میاد و آخرین عضو آرایه رو اصطلاحا pop میکنه. و غیر اصطلاحا میاد و آخرین عضو آرایه رو از آرایه می کَنه و میریزه توی یه متغیر.

بعضی مواقع با آدما به زبون کد حرف بزنی بهتر میفهمن تا به زبون آدمیزاد حرف بزنی پس به مثال زیر توجه کنید:

const array = [&quotkhar&quot, &quotgav&quot, &quotgoosale&quot, &quotmagas&quot]; const lastItem = array.pop(); console.log(lastItem); // را در کنسول مینویسد magas این خط مقدار console.log(array); // را در کنسول مینویسد [ 'khar', 'gav', 'goosale' ] این خط مقدار

حالا اومدیمو عضوی که می خوایم پاک کنیم، آخرین عضو آرایه نبود://

  • راه دوم- استفاده از تابع (index, length)splice :

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

و طبق معمول WHAT THE HELL ARE YOU TALKING ABOUT؟؟؟

در مثال زیر، ما از عضو یکم آرایه ی array یعنی "gav"، تعداد دو عضو را حذف می کنیم. یعنی "gav" و "goosale"

const array = [&quotkhar&quot, &quotgav&quot, &quotgoosale&quot, &quotmagas&quot]; const newArray = array.splice(1, 2) console.log(newArray); // را در کنسول مینویسد [ 'gav', 'goosale' ] این خط مقدار console.log(array); // را در کنسول مینویسد [ 'khar', 'magas' ] این خط مقدار
  • راه سوم- استفاده از توابع splice(index, length) و (item)indexOf (یه ترکیبی پرو...):

حالتی را فرض کنید که می خواهید یک عضو از آرایه را حذف کنید ولی ایندکس آن عضو در آرایه را نمی دانید. برای این کار از ترکیب دو تابع splice و indexOf استفاده می کنیم که هر دو از توابع تعریف شده در prototype کلاس Array میباشند.

توضیح تابع indexOf(item): این تابع یک ورودی میگیرد و در آرایه به آن را جستجو می کند. اگر آن عضو را پیدا کرد، مکان آنرا بر میگرداند و اگر پیدا نکرد مقدار ۱- را برمیگرداند.

const array = [&quotkhar&quot, &quotgav&quot, &quotgoosale&quot, &quotmagas&quot]; console.log(array.indexOf(&quotgav&quot)); // این خط مقدار 1 را در کنسول مینویسد array.splice(array.indexOf(&quotgav&quot), 1); // splice و indexOf ترکیب console.log(array); // را در کنسول مینویسد [ 'khar', 'goosale', 'magas' ] این خط مقدار
برنامه نویسیجاوااسکرسپتآرایهindexofsplice
اینجا اون مطالبی که به نظرم باحال میاد. یا خودم درگیرش بودم رو میزارم. کلا دور هم خوشیم دیگه...
شاید از این پست‌ها خوشتان بیاید