我怎样才能以适当的符号迭代数组中的对象?

我读通过JavaScript的好部分,并了解到使用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' } ] 

我怎样才能遍历每一件事情,以便我可以从每一个variables分配这是我已经做了:

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

我只是担心,坏记号最终会咬我,我读了(blah in blah)记号并不总是按顺序返回结果。 这是必须的。 希望我明确表示感谢。

我需要获取值,而不是对象中的variables的名称。

Object.keys(data.success[i])会给你一个对象中的所有键,然后你可以使用它来保证sorting顺序。

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