我有一个json数组,我尝试 按日期对它 进行 排序, 然后再附加它。
该数组如下所示:
result = [];
result.push(
{id: 'ID', result: {url: 'test', date: '15 May 2013, 6:40 pm'}},
{id: 'ID', result: {url: 'test', date: '20 Dec 2012, 8:00 am'}},
{id: 'ID', result: {url: 'test', date: '29 Jun 2012, 5:47 pm'}}
);
目前, 我已经设法对 日期 数组 进行了如下 排序 :
var datearray = [
'2011-05-26 12:00:00',
'2016-01-26 12:00:00',
'2011-01-26 12:00:00',
'2012-12-08 07:00:00',
'2011-01-26 12:00:00',
'1995-01-05 06:00:00'
];
datearray.sort();
这给了我:
1995-01-05 06:00:00
2011-01-26 12:00:00
2011-01-26 12:00:00
2011-05-26 12:00:00
2012-12-08 07:00:00
2016-01-26 12:00:00
但 我不确定如何对 包含多个键 的复杂数组执行相同的操作 。我知道 我应该先将日期格式设置为YYYY-MM-DD, 但之后会有点混乱。
一个良好的开端将是我目前在jsbin上找到的内容:http
://jsbin.com/ipatok/8/edit
function comp(a, b) {
return new Date(a.result.date).getTime() - new Date(b.result.date).getTime();
}
your_array.sort(comp);
只是为了扩展@Karthikr的评论。
var result = [];
result.push({
id: 'ID',
result: {
url: 'test',
date: '15 May 2013, 6:40 pm'
}
}, {
id: 'ID',
result: {
url: 'test',
date: '20 Dec 2012, 8:00 am'
}
}, {
id: 'ID',
result: {
url: 'test',
date: '29 Jun 2012, 5:47 pm'
}
});
function comp(a, b) {
return new Date(a.result.date).getTime() - new Date(b.result.date).getTime();
}
result.sort(comp);
$('body').append(JSON.stringify(result));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
问题内容: 我有一个带有几个键值对的对象数组,我需要根据’updated_at’对它们进行排序: 这样做最有效的方法是什么? 问题答案: 您可以使用。 这是一个例子:
问题内容: 我知道这一定是相对简单的,但是我有一个JSON数据集,我想按日期排序。到目前为止,我无处不在遇到问题。现在,我将日期存储为。如果有帮助,我可以访问jquery,但是我意识到.sort()是本机JS。提前致谢。 问题答案: 假设您有一个javascript对象数组,只需使用自定义排序功能即可: Array 方法使用回调函数对数组进行排序,该回调函数传递给数组中的元素对。 如果返回值为负,
举个例子 那么,如何按日期对该数组进行排序? 这只是一个小例子,但它就像数组中的1000个对象。我在互联网上搜索并找到了一些使用函数的示例,但它在我的大数组中不起作用。
问题内容: 我在PHP数组中有一些来自XML或JSON的数据,如下所示: 我想做的是按日期订购这两项。 当排序值位于每个项目内时,是否可以按日期排序? 我需要将日期格式转换为时间戳吗? 我不想做什么 我可以使用date并将其设置为ID,但是感觉不对,因为两个项目可以具有相同的日期,因此它不是唯一的。 问题答案: 您无需在排序之前将日期转换为时间戳,但这是一个好主意,因为如果不使用它,将需要更多的时
问题内容: 我有一个包含一个称为的对象的数组,它具有诸如“日期”,“名称”等属性。 我正在对数组进行排序,如下所示: 应该将日期从新到旧排序。例如: 2016年6月30日 2016年6月29日 等等.. 但是,当我的数组包含“ 2016年7月2日”时,排序后的数组将变为: 2016年6月30日 2016年6月29日 2016年7月2日 排序后,“ 2016年7月2日”应该位于顶部,而现在位于底部?
假设我有一个由几个对象组成的数组: 我如何按日期元素对这个数组进行排序,从最接近当前日期的日期开始,然后按时间向下排序?请记住,数组可能有许多对象,但为了简单起见,我使用了2。 我会使用排序函数和自定义比较器吗?