物件存在陣列裡的搜尋方法
JavaScript在一般的陣列中,可以直接使用filter、map來遍歷元素並搜尋或取得資料 但在object,就無法使用這些方便的函式了! 尤其當資料內容又是以物件型式儲存在陣列裡面 兩個東西結合在一起的時候真的是會寫到一團亂不知道自己在寫什麼東西XD 花了不少時間總算寫了個應該….還算是精簡的寫法QQ > DEMO < See the Pen object in array search demo by hsuanyi ( @windclara ) on CodePen . 要做到在表格內每一欄位的資料都可以搜尋並即時顯示出有相同內容之欄位資料 由於我來源資料是儲存在nedb裡面(註:nedb為一輕量化的單機版mongoDB,可視為nosql版的sqlite) nedb中每一筆資料是一個物件,查詢出來後的所有結果回傳成一組陣列 就會得到如下的資料結構: dbData = [ {id: 0001 ,name: '王小明' ,phone: 0912345678 }, {id: 0002 ,name: '劉得滑' ,phone: 0987654321 }, {id: 0003 ,name: '周潤花' ,phone: 0978123456 }, {id: 0004 ,name: '林志零' ,phone: 0955111222 }]; 搜尋功能的程式碼: function search (searchValue) { let searched = dbData.map (obj => { if ( Object .keys(obj).some ( property => obj[property].toString() . indexOf(searchValue) != - 1 ) ) return obj; }); return searched.filter (obj => obj != undefined ); } //demo網頁我使用vue,所以demo網頁裡的寫法會略有不同 //為方便您使用,本文中以fun...