node.jsのお勉強:sqlite3 DB読み出しのconsole.logでundefined
というDBとして以下のソースでconsole.log(????)でundefinedとなるのはなぜ?router.post('/word', function(req, res, next) { const kd = req.body.kind; const tx = req.body.text; db.serialize(() => { //SQL文, memosテーブルから全てのレコードを取得する(* は全て) db.all("select * from memos where text like ?",memos=["%"+kd+"%"], (err, rows) => { if (!err) { const data = { title: 'ワード選択', content: rows //DataBaseから返された全レコードがrowsに配列で入ります } //viewファイルのmemo/indexにdataオブジェクトが渡されます //res.render(テンプレートファイル名, { 渡す値をオブジェクトで }) → テンプレートファイルを描画する console.log(????) res.render('memo/index', data); } }) })});console.log(????)の????部分を以下としたとき????=dataこれはちゃんと出ます{ title: 'ワード選択', content: [ { id: 9, text: '2021/07/28 18時37分10秒-------今日はxxxxでした', kind: 'デバッグ' }, { id: 10, kind: 'デバッグ' }, { id: 11, text: '2021/07/28 18時37分49秒-------あさってもxxxxです', } ]}????=data.contentこれもちゃんと出ます[ { id: 9, text: '2021/07/28 18時37分10秒-------今日はxxxxでした', kind: 'デバッグ' }, { text: '2021/07/28 18時37分29秒-------明日もxxxxです', kind: 'デバッグ' }, { id: 11, text: '2021/07/28 18時37分49秒-------あさってもxxxxです', kind: 'デバッグ' }]????=data.content.idundefinedこれはこうなってしまします。原因判明data.contentはリスト構造でその内部にあるid,text,kindはアクセスできません以下のような記述ならアクセスできます data.content.forEach( function( value ) { console.log( value.text ); var str =value.text var result = str.replace( kd, '●'+ kd); value.text = result }); res.render('memo/index', data);