از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
جاوا اسکریپت: آخرین عنصر را در لیست دریافت کنید دریافت آخرین عنصر یک لیست/آرایه یک عملیات رایج است. در این آموزش، روش دریافت آخرین عنصر در آرایه/لیست جاوا اسکریپت را بررسی خواهیم کرد. جاوا اسکریپت یک زبان با تایپ ضعیف یا تایپ نشده است، به این معنی که نوع متغیر نیازی به اعلان ندارد…
سرفصلهای مطلب
معرفی
دریافت آخرین عنصر یک لیست/آرایه یک عملیات رایج است. در این آموزش نگاهی به این خواهیم داشت چگونه آخرین عنصر را در یک آرایه/فهرست جاوا اسکریپت بدست آوریم.
جاوا اسکریپت یک است با تایپ ضعیف یا تایپ نشده زبان، به این معنی که نوع متغیر قبل از استفاده نیازی به اعلان ندارد، زیرا جاوا اسکریپت با خواندن مقدار متغیر، نوع آن را تعیین می کند.
var x = "something"
ارزیابی می شود و x
به یک نوع رشته اختصاص داده شده است. همینطور process برای لیست ها اعمال می شود – شما نیازی به تعریف نوع لیست ندارید، فقط می توانید لیست را با مقادیر پر کنید.
یک لیست با قرار دادن عناصر در بین پرانتز تعریف می شود (()
، که در آن عناصر می توانند ناهمگن باشند (لازم نیست از یک نوع باشند):
var myList = ("Peter", "Smith", 25, 23, "Random String", 10)
جاوا اسکریپت روش های داخلی زیادی دارد که می توان از آنها برای دستکاری لیست هایی مانند این استفاده کرد. در اینجا مواردی هستند که از آنها برای دریافت آن استفاده خواهیم کرد آخر عنصر
دریافت آخرین عنصر با استفاده از طول
این length
ویژگی یک لیست تعداد عناصر موجود در یک لیست را نشان می دهد:
console.log(myList.length)
نمایه سازی عناصر در آرایه ها/لیست ها در جاوا اسکریپت بسیار شبیه به زبان های دیگر است. ما می توانیم بر اساس یک عنصر دسترسی داشته باشیم روی شاخص آن، با عبور آن در پرانتز مربع ()
، ارجاع به آرایه. آخرین عنصر دارای شاخص است length-1
.
از آنجا که length
فیلد فقط مقدار ذخیره شده عناصر را برمی گرداند – این یک عملیات سریع، کارآمد و ارزان است. بهترین راه برای دریافت آخرین عنصر آرایه/لیست جاوا اسکریپت این است:
var lastElement = myList(myList.length - 1);
console.log(lastElement);
این منجر به:
10
دریافت آخرین عنصر با استفاده از ترکیدن()
این pop()
متد را برمی گرداند آخرین عنصر یک مجموعه، اما آن را در طول دوره حذف می کند process. اگرچه، اگر از گسترش اپراتور از ES6 – ما می توانیم با کپی کردن موقت لیست در حافظه و انجام از این عملکرد جلوگیری کنیم pop()
روی کپی، لیست اصلی را دست نخورده نگه دارید.
این ترکیدن() روش
اجازه دهید pop()
آخرین عنصر از لیست:
var lastElement = myList.pop();
console.log(lastElement)
console.log(myList)
این باعث می شود که لیست از آن عنصر کوتاه شود:
10
("Peter", "Smith", 25, 23, "Random String")
اگر برای دست نخورده ماندن به لیست اصلی نیاز ندارید، می توانید عناصر را از آن جدا کنید، اما اگر به نسخه اصلی نیاز دارید، می توانید یک کپی تهیه کنید و pop()
از آن.
ترکیدن() با اپراتور Spread ES6
ES6 کوتاه شده است EcmaScript6، که یک است استاندارد جاوا اسکریپت برای آسانتر کردن برنامهنویسی در جاوا اسکریپت (کمتر کدنویسی، اما انجام بیشتر) استفاده میشود.
این شرکت در سال 1997 تأسیس شد و اولین موفقیت بزرگ آن در سال 2015 با استاندارد ES6 (یا EcmaScript2015) بود. آخرین نسخه یازدهمین نسخه است که در سال 2020 توسعه یافته است. تمام نسخه ها برای تسهیل کدنویسی در جاوا اسکریپت (با قوانین نحو جدید، کلمات کلیدی جدید و غیره) طراحی شده اند.
ویژگی که در اینجا می توانیم از آن استفاده کنیم این است اپراتور گسترش (...
).
از جمله ویژگی های دیگر، اپراتور گسترش می تواند لیست ها/آرایه ها را کپی کند:
(...myList)
این یک لیست جدید با عناصر مشابه ایجاد می کند myList
. همانطور که گفته شد – ما می توانیم pop()
از لیست جدید به جای لیست اصلی:
console.log((...myList).pop())
console.log(myList)
این منجر به:
10
("Peter", "Smith", 25, 23, "Random String", 10)
توجه داشته باشید: این ممکن است برای نوشتن راحت باشد، اما ارزان ترین راه حل نیست، زیرا یک لیست را کپی می کند. برای لیست های کوچک، عملکرد را خیلی کاهش نمی دهد، اما با لیست های طولانی تر، این روشی ناکارآمد برای به دست آوردن آخرین عنصر است.
دریافت آخرین عنصر با استفاده از تکه()
این slice(a, b)
روش آرایه را از نقطه “برش” می کند a
به اشاره b-1
– با توجه به آن a
و b
اعداد صحیح هستند در یک روش ریاضی تر، می توانید به برش مانند زیر نگاه کنید: (a, b)
– عنصر در a
گنجانده شده است، در حالی که عنصر در b
نیست:
console.log(myList.slice(1, 4))
این منجر به یک تکه از آرایه اصلی می شود:
("Smith", 25, 23)
این slice()
روش همچنین نمایه سازی منفی را می پذیرد – جایی که از طریق مجموعه به عقب تکرار می شود. بنابراین اگر ما slice(-4, -1)
، تکرار از عنصر سوم از پشت شروع می شود و در یک قبل از آخرین عنصر به پایان می رسد (زیرا slice
را شامل نمی شود b
نقطه).
این به ما این امکان را می دهد که به سادگی یک عنصر آخر را از انتهای فهرست وارد کنیم slice()
:
console.log(myList.slice(-1))
که منجر به:
(10)
این هنوز یک آرایه است، بنابراین برای دریافت این عنصر با آن به آن دسترسی داریم myList.slice(-1)(0)
– که عنصر ما را برمی گرداند:
console.log(myList.slice(-1)(0))
توجه داشته باشید: slice()
زمانی که می خواهید آخرین مورد را بازیابی کنید بهترین استفاده است ن عناصر یک آرایه، به جای یکی، زیرا شما به سادگی می توانید استفاده کنید length-1
بجای.
دریافت آخرین عنصر با استفاده از معکوس()
این reverse()
متد لیست را در محل معکوس می کند. آخرین عنصر اولین خواهد شد و بالعکس:
console.log(myList.reverse())
خروجی خواهد بود:
(10, 'Random String', 23, 25, 'Smith', 'Peter')
اکنون عنصر ما اولین عنصر است، بنابراین می توانیم با آن به آن دسترسی داشته باشیم myListReversed(0)
.
توجه داشته باشید: معکوس کردن یک آرایه/لیست نیز یک عملیات بالقوه بسیار گران است. اگر تنها کاری که می خواهید انجام دهید دسترسی به آخرین عنصر است، از معکوس کردن مجموعه خودداری کنید. اگر به هر حال میخواهید آن را معکوس کنید – میتوانید به این عنصر دسترسی داشته باشید. اگر نه، به روش اول استفاده مراجعه کنید length-1
.
نتیجه
ارزانترین، کارآمدترین و احتمالاً شهودیترین روش این روش اول است – myList(myList.length()-1)
. این همان چیزی است که بیشتر اوقات از آن استفاده خواهید کرد.
استفاده کردن pop()
عنصر را از لیست حذف می کند و آن را برمی گرداند. اگر شما می خواهند حذف کنند عنصر – این رویکردی است که شما می خواهید از آن استفاده کنید، زیرا در غیر این صورت، باید عنصر را به صورت دستی حذف کنید.
slice()
یک برش به ما می دهد، که اگر بخواهیم آخرین را به دست آوریم، یک رویکرد عالی است ن عناصر.
reverse()
آرایه را در جای خود معکوس می کند و اگر فقط می خواهید یک عنصر را دریافت کنید، باید از آن اجتناب کنید. اگر به هر حال آرایه را معکوس می کنید، این کار هیچ هزینه اضافی ندارد.
منتشر شده در 1403-01-16 18:23:05