promotion image of download ymail app
Promoted
Jun wei 發問時間: 電腦與網際網路程式設計 · 2 個月前

請益 Javascript filter與match語法?

小弟在練習一個搜尋功,目前title跟content都能正常搜尋並返還整個物件

但是遇到type這個物件裡面的陣列就不能,第29、30行,想了很多辦法,目前腦筋卡死

所以上來請教各位大神

Attachment image

1 個解答

評分
  • 阿平
    Lv 4
    2 個月前

    filter回傳新陣列,[]是truthy value。

    match回傳新陣列或null,null是falsy value。

    var blogs=[

        {

            title:'今天',

            content:'天氣真好',

            type:["快樂","愉悅"]

        },

        {

            title:'昨天',

            content:'吃得好飽',

            type:["滿意","撐"]

        },

        {

            title:'明天',

            content:'要考試了',

            type:["煩惱","憂心"]

        },

        {

            title:'明天2',

            content:'要考試了2',

            type:["煩惱2","憂心2"]

        }

    ];

    var search="煩惱";

    function searchFunction(val){

      return blogs.filter((blog)=>{

        return blog.title.match(val)||

          blog.content.match(val)||

          blog.type.filter((element)=>{

            return element.match(val);

          }).length!=0;

        });

    }

    var result=searchFunction(search);

    console.log("search result:");

    console.log(result);

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。