1
这里是我正在构建的一个Node Webkit WebSQL包装器的摘录,我遇到了一个问题。请参阅下面的<----
一行。按字母顺序排列的JavaScript对象
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);
});
});
我的想法是处理对象,并将对象的值放入我的数组中作为每个键的值。
相关:HTTP ://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order – epascarello
那么我的预感是正确的。我将不得不解释结果对象,并在预期的列上执行1:1匹配并分配值。 –
究竟是什么问题?无论如何,如果它是一个对象,您将通过属性名称来访问它。或者你想要将每行的数组推到'_data'? – Bergi