میلاد هدایت پور
3 سال پیش توسط میلاد هدایت پور مطرح شد
5 پاسخ

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

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

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

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


ثبت پرسش جدید
فرشید مرادی
تخصص : noob
@eniack 3 سال پیش آپدیت شد
0

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

keyValue= keyArray.indexOf(key); 
 keyArray.splice(keyValue , 1);

میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 3 سال پیش مطرح شد
فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

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


میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 3 سال پیش آپدیت شد
0

@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 چی بنویسم که اون ابجکت رو پاک کنه از ارایه؟؟؟؟


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش آپدیت شد
0

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

keyValue= keyArray.indexOf(key); 
 keyArray.splice(keyValue , 1);

میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 3 سال پیش مطرح شد
0

@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);
      }

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

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