JavaScript对象按字母顺序排列

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

get_columns是一个简单的JavaScript数组:

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

但是当它们从数据库中出来时,对象(也就是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); }); }); 

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

使用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']) 

参考

  • ECMAScript Wiki:JSON支持