راکت
حل شده

نحوه استفاده چندین شرط در تابع filter جاوا اسکریپت

3 پاسخ

سلام وقتتون بخیر
من دو تا شرط برای فیلترم گذاشتم اما عمل نمیکنه نمدونم چرا؟ کد زیر به این شکل کار میکنه.

    result = myArray.filter(function(item){
        return item.productName.toLowerCase().includes(searchValue.toLowerCase())
    })

    if(myStatus){
        result = result.filter(function(item){
            return item.exist
        })
    }

اما به شکل زیر که چند شرطی هست کار نمیکنه نمیدونم چرا؟

    result = myArray.filter(function(item){
        if(myStatus == true){
            return item.exist == true && item.productName.toLowerCase().includes(searchValue.toLowerCase())
        }else{
            return item.productName.toLowerCase().includes(searchValue.toLowerCase())
        }

    })
ثبت پرسش جدید

پاسخ‌ها

3
محمد زورمند
محمد زورمند
@SpyStar0003

تخصص: react developer

بهترین پاسخ

سلام داداش

مشکلت اینه اون قسمت که شرط if رو گذاشتی باید سه تا مساوی بزاری یعنی اینجو ===

میشه...

item.exist === true
البته item.exist هم بنویسی تنهایی خوبه...

درمورد mystatus هم همینطور...

mrReza
mrReza
@rezasaz

تخصص: طراح سایت

منظورم این قسمته

return item.exist == true && item.productName.toLowerCase().includes(searchValue.toLowerCase())
mrReza
mrReza
@rezasaz

تخصص: طراح سایت

@SpyStar0003
آره انجام دادم درست شدش یک دنیا ممنون.

دو تا مساوی == مقدارش رو مقایسه میکنه و سه تا مساوی === مقدار و نوع تایپش رو هم مقایسه میکنه. اما تو جاوا اسکریپت بخش تابع فیلتر انگار دو تا مساوی عمل نمیکنه.

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

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

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