درخواست توضیح یک بخش کد

پرسیده شده
فعالیت 956 روز پیش
دیده شده 343 بار
0

استاد ممنون میشم این قسمت رو یه توضیح دوباره بدین لطفا

 

    return todos.filter(todo => {
        const statusFilter = showAll || todo.completed === showCompleted
        const colorsFilter = colors.length === 0 || colors.includes(todo.color)

        return statusFilter && colorsFilter
    })
فایل پیوست

علیرضا بابایی
علیرضا بابایی

19 شهریور 00

0
حذف شده

 اگر کد رو تغییر بدم فکر کنم یکی شفاف تر بشه:

return todos.filter(todo => {
        const statusFilter = showAll || todo.completed === showCompleted
        if(!statusFilter) return false
        
        const colorsFilter = colors.length === 0 || colors.includes(todo.color)
        if(!colorsFilter) return false

        return true
    })

این کد معادل همون کد قبلی محسوب میشه!

قصد داریم از تعدادی todos تعدادی از اونها رو بر اساس رنگ و  status فیلتر بکنیم برای نمایش

از تابع filter استفاده شده و برای اینکه یک todo در نهایت باقی بماند برای نمایش باید true برگشت داده بشه

نکته ای که وجود داره باید  رنگ و  status  هر دو همزمان صدق بکنن و اگر یکی از اونها درست نباشه نباید todo رو نمایش بدیم.

در کدی که فرستادید با && چک کردیم که هر دو تای اونها برابر true باشه و اگر یکی از اونها false باشه خروجی نهایی هم false میشه.

 

اگر ابهامی داری بگو اون بخشش رو بیشتر توضیح بدم

فایل پیوست

مجتبی سوری

توسط

مجتبی سوری

21 شهریور 00