محمد لارافيل نشر 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 } }, اقتباس
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 من الكود الأصلي لغرض التجريب ويمكنك التصرف بإعادة الدالة كما كانت مع الأخذ بنظر الإعتبار التغيير الذي عملناه لتعمل معك بشكل صحيح اقتباس
السؤال
محمد لارافيل
لدي الاخراج التالي
[ { "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
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.