2014-08-31 102 views

回答

4

我假设你得到两个结果数组,而不是两个对象吗?否则,您可以通过created_date字段比较这两个对象。因此,如果您将查询结果作为两个数组,则可以使用concat这些数组,然后通过自定义比较函数执行sort。像这样:

var queryFromParse1 = function() { 
    return [{name: 'obj1', created_date: new Date('2014-10-10')}]; 
}; 

var queryFromParse2 = function() { 
    return [{name: 'obj2', created_date: new Date('2012-10-10')}]; 
}; 

var array1 = queryFromParse1(); 
var array2 = queryFromParse2(); 
var sorted = array1.concat(array2).sort(function (a, b) { 
    // For real parse object, you need to do a.get('createdAt') 
    return a.created_date.getTime() - b.created_date.getTime(); 
}); 

console.log(sorted[0].name); 
console.log(sorted[1].name); 

// this prints out obj2, obj1 

在现实生活中你queryFromParse1queryFromParse2将结果如何查询。

这里比较函数的技巧是Date.getTime()返回自1 January 1970 00:00:00 UTC以来的毫秒数。和比较功能指示结果的方法是:

  • 负的第一装置,第一<秒
  • 0表示第一===第二
  • 积极手段>第二
相关问题