1
我有两个不同的Parse类的数组。他们都有相同的字段createdDate
。是否有可能单独查询它们,然后将它们合并在一起,由createdDate
订购?对两个Parse对象数组进行合并和排序
我有两个不同的Parse类的数组。他们都有相同的字段createdDate
。是否有可能单独查询它们,然后将它们合并在一起,由createdDate
订购?对两个Parse对象数组进行合并和排序
我假设你得到两个结果数组,而不是两个对象吗?否则,您可以通过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
在现实生活中你queryFromParse1
和queryFromParse2
将结果如何查询。
这里比较函数的技巧是Date.getTime()
返回自1 January 1970 00:00:00 UTC
以来的毫秒数。和比较功能指示结果的方法是: