iT邦幫忙

DAY 19
1

Node.js 學習筆記系列 第 19

Node.js學習筆記十八:Node.js的陣列

  • 分享至 

  • xImage
  •  

上一篇我們將Objects轉成獨立的資料,接著我們可以把這些資料保存在一個陣列裡。

這裡我們只保存"username"的部分。請看以下"userlist"的router修改版:

router.get('/userlist', function(req, res) {
    var db = req.db;
    var collection = db.get('usercollection');
    collection.find({},{},function(e,docs){

      var name = [];
      var objKey = Object.keys(docs);
      objKey.forEach(function(objectid){
        var itemkeys = Object.keys(docs[objectid]);
        itemkeys.forEach(function(itemkey) {
          var itemvalue =docs[objectid][itemkey];
          console.log(objectid+': '+itemkey+' = '+itemvalue);
          if (itemkey == "username") {
            name.push(itemvalue);
          }
        })
      })
      console.log(name);
      res.render('userlist', {
          "userlist" : name
      });
    });
});

首先我們宣告一個陣列:

var name = [];

接著,當我們找到所有資料:objectid, itemkey, itemvalue,之後,比對"itemkey",如果"itemkey"是"username"(不要"_id"與"email"),我們就把它對應的值(itemvalue)保存到"name"陣列。加入資料到陣列可以用陣列提供的方法:push()。

if (itemkey == "username") {
  name.push(itemvalue);
}

這樣我們就能將所有的"username"的值保存在"name"陣列裡。最後用console.log(name)來看看效果並送到模版引擎:res.render()。以下是console的顯示:

[ 'zack', 'testuser2', 'testuser3' ]

結果正確。

(本文同步發表於: NodeJust.com )


上一篇
Node.js學習筆記十七:將MongoDB資料的Object拆解(二)
下一篇
Node.js學習筆記十九:Hogan.js模版引擎裡顯示陣列
系列文
Node.js 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言