راکت
حل شده

حذف ابجکت تکراری از آرایه جاوااسکریپت

5 پاسخ

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

{'date': date, 'day': day, 'start': start, 'finish': finish}

و میخوام قبل پوش شدنش به ارایه چک کنم اگر قبلا توی ارایه بود پاکش کنه در غیر این صورت پوش کنه!
این مقادیر از یک سری چک باکس میاد که خوب هربار روشون کلیک میشه مقادیر مربوط به چک باکس میاد داخل یک فانکشن و مثل کد بالا توی ابجکت ریخته میشه و بعد باید داخل اون ارایه پوش شه
کلی توی نت گشتم ولی همه کدا و فقط یکی ازون ایتم های داخل ابجکت رو چک میکنن
من میخوام کل ابجکت چک شه که اگه بود پاک شه و در غیر این صورت پوش شه
کسی میتونه توی نوشتن کدش کمک کنه؟ خیلی وقتمو گرفته
مرسی

ثبت پرسش جدید

پاسخ‌ها

5
فرشید مرادی
فرشید مرادی
@eniack

تخصص: noob

بهترین پاسخ

@miladparsi1070
سلام ،
شما باید اندیس اون key مورد نظرتون رو پیدا کنید و بامقدار یا همون value اونو حذف کنید

keyValue= keyArray.indexOf(key); 
 keyArray.splice(keyValue , 1);
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

فرشید مرادی
فرشید مرادی
@eniack

تخصص: noob

سلام ، کدی که واسه چک کردن آبجکت نوشتید رو بزارید

شاید پاسخ شما همین‌جا باشد

میلاد هدایت پور
میلاد هدایت پور
@miladparsi1070

تخصص: در حال پیشرفت

@milad
خوندم ولی کمکی بهم نکرد راستش. تا یه جایی پیش رفتم و برای هر ابجکت یک key در نظر گرفتم
حالا مشکلم پاک کردن ابجت از ارایه هست
کد رو میزارن تا هم شما هم @eniack ببینید:

if (!this.keyArray.includes(key)){
        this.keyArray.push(key)
         this.reserves.push({ 'date': date, 'day': day, 'start': start, 'finish': finish})
   }else {

   }

اینجوریه که اگه key داخل ارایه keyArray نباشه، خود key رو داخل keyArray و ابجکت رو داخل reserves پوش میکنم
حالا توی else چی بنویسم که اون ابجکت رو پاک کنه از ارایه؟؟؟؟

میلاد هدایت پور
میلاد هدایت پور
@miladparsi1070

تخصص: در حال پیشرفت

@eniack
اره منم همینکارو کردم دقیقا با ایتفاده از ارایه اولی key رو بدست اوردم و با استفاده ازون از ارایه اصلی ابجکت رو پاک کردم

  if (!this.keyArray.includes(key)) {
        this.keyArray.push(key)
         this.reserves.push({'date': date, 'day': day, 'start': start, 'finish': finish})
     } else {
              this.reserves.splice(this.keyArray.indexOf(key), 1);
              this.keyArray.splice(this.keyArray.indexOf(key), 1);
      }

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام