簡體   English   中英

我如何以適當的表示法迭代數組內的對象?

[英]How might I iterate over objects inside an array in proper notation?

我閱讀了Javascript The Good Parts,並了解到使用for (i in blah) {}是不好的符號,但問題是,我正在使用Node.js和我使用MongoDB的數據庫將其所有查詢作為objects返回這很好。 現在我有一個ajax查詢從表中提取所有信息,我想用每個值做事情。

但是數據庫返回的是一個包含對象的數組(具有隨機大小,具體取決於數據庫中的數據),為清楚起見,我將舉例說明:

[
 {
  'a': 'value of a',
  'b': 'value of b',
  'c': 'value of c'
 },
 {
  'a': 'value of a',
  'b': 'value of b',
  'c': 'value of c'
 }
]

我怎樣才能遍歷每一個東西,以便我可以從每個變量中分配變量,這就是我所做的工作:

 for (var i = 0; i < data.success.length; i += 1) {
      for(x in data.success[i]) {
        console.log(x);
      }
    }

我只是擔心壞的記譜法最終會咬我,我讀到(blah in blah)表示並不總是按順序返回結果。 這是有必要的。 希望我自己說清楚,謝謝。

我需要獲取值,而不是對象中變量的名稱。

Object.keys(data.success[i])將為您提供對象中存在的所有鍵,然后您可以使用.sort來保證排序順序。

data.success.forEach(function(item, n) {
   console.log('item ' + n);
   Object.keys(item).sort().forEach(function(key) {
      console.log(key + ':' + item[key]);
   });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM