JavaScript对象按字母顺序排列

时间:2014-02-14 20:58:43

标签: javascript node.js object web-sql node-webkit

以下是我正在构建的Node Webkit WebSQL包装器的摘录,我遇到了一个问题。请参阅下面的<----行。

get_columns是一个简单的JavaScript数组:

['id','group_name','description']

但是当他们从数据库中走出来时,对象(a.k.a。results.rows.item(i)):

{'description','group_name','id'}

这是因为浏览器或JavaScript想要按字母顺序对所有对象进行排序吗?

db.transaction(function(tx) {
    var sql = 'SELECT ' + get_columns + ' FROM ' + table;
    tx.executeSql(sql, [], function(tx, results) {
        if (results.rows.length) {
            for (var i = 0; i < results.rows.length; i++) {
                _data.push(results.rows.item(i)); // <---- columns from WebSQL are in alphabetical order, so not cool. 
            }
        }
        deferred.resolve(_data);
    });
});

我的想法是处理对象并将对象的值作为每个键的值放入我的数组中。

1 个答案:

答案 0 :(得分:1)

使用JSON.stringify将结果作为第一个参数,使用数组作为第二个参数来强制执行订单:

function foo(get_columns)
  {
  var results = {"a":1,"b":2,"c":3};

  _data = JSON.stringify(results, get_columns);
  return _data;
  }

foo(['c','a','b'])

<强>参考