محمد لارافيل نشر 11 فبراير 2023 أرسل تقرير مشاركة نشر 11 فبراير 2023 لدي الاخراج التالي [ { "id": 23, "who": [ { "id": 1, "user": { "id": 9, "username": "zorro", "first_name": "Richard", "last_name": "Zorro", "avatar": "http://localhost:8000/media/default.png", }, "approved": false }, { "id": 2, "user": { "id": 10, "username": "mis2", "first_name": "m", "last_name": "s", "avatar": "http://localhost:8000/media/default.png", }, "approved": true } ], "approved_looking": true, "who_add": 1 } ], أنا أحاول إرجاع المستخدمين الذين تمت الموافقة عليهم فقط. قمت بكتابة هذا الكود لكنه يعيد جميع المستخدمين لماذا؟ filteredUsers() { if (this.users) { const filt = this.users.filter(x => x.who.filter((y) => {return y.approved === true})); return filt } }, اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 علي عبد محسن نشر 11 فبراير 2023 أرسل تقرير مشاركة نشر 11 فبراير 2023 الدالة filteredUsers لا تقوم بالتحقق من شرط approved بشكل صحيح لأنك تستعمل filter بداخل filter ولحل المشكلة تستطيع إستخدام find داخل filter وكما يلي function filteredUsers(users) { if (users) { const filt = users.filter(x => x.who.find((y) => y.approved === true) !==undefined // هنا يتم العثور وإرجاع المستخدمين المطابقين للشرط ); return filt } } ملاحظة: تم إزالة this من الكود الأصلي لغرض التجريب ويمكنك التصرف بإعادة الدالة كما كانت مع الأخذ بنظر الإعتبار التغيير الذي عملناه لتعمل معك بشكل صحيح اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
محمد لارافيل
لدي الاخراج التالي
[ { "id": 23, "who": [ { "id": 1, "user": { "id": 9, "username": "zorro", "first_name": "Richard", "last_name": "Zorro", "avatar": "http://localhost:8000/media/default.png", }, "approved": false }, { "id": 2, "user": { "id": 10, "username": "mis2", "first_name": "m", "last_name": "s", "avatar": "http://localhost:8000/media/default.png", }, "approved": true } ], "approved_looking": true, "who_add": 1 } ],
أنا أحاول إرجاع المستخدمين الذين تمت الموافقة عليهم فقط. قمت بكتابة هذا الكود لكنه يعيد جميع المستخدمين لماذا؟
filteredUsers() { if (this.users) { const filt = this.users.filter(x => x.who.filter((y) => {return y.approved === true})); return filt } },
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.