mrReza
2 سال پیش توسط mrReza مطرح شد
3 پاسخ

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

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

    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())
        }

    })

ثبت پرسش جدید
محمد زورمند
تخصص : react developer
@SpyStar0003 2 سال پیش مطرح شد
0

سلام داداش

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

میشه...

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

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


mrReza
تخصص : طراح سایت
@rezasaz 2 سال پیش مطرح شد
0

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

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

محمد زورمند
تخصص : react developer
@SpyStar0003 2 سال پیش مطرح شد
0

سلام داداش

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

میشه...

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

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


mrReza
تخصص : طراح سایت
@rezasaz 2 سال پیش مطرح شد
0

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

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


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

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