1

我通读了 Javascript The Good Parts,并了解到 usingfor (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)符号并不总是按顺序返回结果。这必须是有序的。希望我说清楚了,谢谢。

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

4

1 回答 1

4

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]);
   });
});
于 2013-04-08T08:09:20.087 回答