بازدید: 45 بازدید
زمان مطالعه: 10
کلاس set

یکی از متدهای کاربردی در جاوا اسکریپت متد یا کلاس ()set هست که امروز و دراین مقاله به صورت کامل برای شما توضیح خواهیم داد و مثالهایی در این زمینه خواهیم زد.

تاریخچه متد ()set :

متد set در سال 2015 و در ES6  رونمایی شد، و ساختار داده‌ای آن شباهت زیادی به آرایه‌ها (Array) دارد، اما برای این طراحی شده که مقادیر یونیک رو تشخیص بده و درون خودش قرار بده. با رونمایی از این متد دیگ شما بار اضافی کدنویسی برای فیلترکردن مقادیر یونین یا غیر یونیک رو دیگ ندارید و با چند خط کد به راحتی این کار رو انجام میدید.

متدهای کلاس ()set :

set نیز دارای متدهایی است که شامل:

  1. ()size
  2. ()add
  3. ()has
  4. ()delete

متد size : طول set رو بهمون اعلام میکنه مثلا اگر set دارای 5 مقار باشد، عدد 5 رو برامون برمی‌گردونه.

متد add : اگر بخواهیم مقداری به set اضافه کنیم از این متد استفاده می‌کنیم.

متد has : برای این است که آیا مقدار مورد نظر درون set قرار دارد یا خیر.

متد delete : برای حذف مقادیر درون set استفاد می‌شود.

در کل ساختار این کلاس به شکل زیر است:

let mySet = new set()

mySet.add(1) // اضافه کردن یک مقدار یونیک

mySet.add(2)

mySet.add(2) //مقدار تکراری و نادیده گرفتن آن توسط کلاس ست

log(mySet.size) // خرورجی 2

log(mySet.has(2)) // true

log(mySet.(3)) // false

log(mySet.delet(2)) // 1

مسائل کاربردی‌تر متد ()set  :

خب حالا چطور می‌توان با این متد در مسائل واقعی کار کنیم؟

فرض کنید که یه آرایه از اعداد تکراری رو داریم :

let numbers = [1, 2, 3, 3, 2, 4, 1, 5]

اگر به روش دیگری بخواهیم حل کنیم، کمی بار کدنویسی دارد که :

let unique = numbers.reduce((acc , num) => {
if(!acc.includes(num) {
acc.push(num)}
return acc} , [])

همونطور که در کد بالا مشاهده می‌کنید به وسیله متد reduce در آرایه‌ها تونستیم این کار رو انجام بدیم،منتهی کدنویسی و کمی خلاقیت باید به خرج می‌دادیم که این اتفاق بیفته، ولی با متد set خیلی راحت‌تر و بدون کد اضافه‌ای این کار رو انجام میدهیم:

let unique2 = [... New Set(numbers)]
log(unique2)
// [1, 2, 3, 4, 5]

خب امیدواریم این مقاله برای شما مفید بوده باشه. اگر در مورد کلاس set ابهاماتی داشتید یا سوالی ذهن‌تون رو درگیر کرده بود در قسمت نظرات درج کنید.

ادامه مطلب