[英]Sort an array of objects by the date where the date is the key
因此,请考虑以下date: array
的对象数组图像date: array
很明显,这个数组是乱序的,有很多对对象数组进行排序的例子,其中有一个带有日期值的日期键。 但是似乎没有示例可以在其中对对象的键是日期的对象数组进行排序。
想法?
这个答案是我能找到的最接近的答案,但又是我的日期,因为您可以看到对象的键。
替代乔治的方式。
data = [ {[new Date(2014, 1, 2)]: 1}, {[new Date(2013, 2, 3)]: 1}, {[new Date(2016, 3, 4)]: 1}, {[new Date(2014, 4, 5)]: 1}, {[new Date(2015, 1, 6)]: 1}, {[new Date(2016, 2, 2)]: 1}, {[new Date(2014, 3, 3)]: 1}, {[new Date(2015, 4, 4)]: 1}, {[new Date(2013, 5, 5)]: 1} ]; data.sort((a, b) => Date.parse(Object.keys(a)[0]) - Date.parse(Object.keys(b)[0])) console.log(data)
考虑:
data = [ {[new Date(2014, 1, 2)]: 1}, {[new Date(2013, 2, 3)]: 1}, {[new Date(2016, 3, 4)]: 1}, {[new Date(2014, 4, 5)]: 1}, {[new Date(2015, 1, 6)]: 1}, {[new Date(2016, 2, 2)]: 1}, {[new Date(2014, 3, 3)]: 1}, {[new Date(2015, 4, 4)]: 1}, {[new Date(2013, 5, 5)]: 1} ]; result = data .map(obj => [Date.parse(Object.keys(obj)[0]), obj]) .sort((x, y) => x[0] - y[0]) .map(x => x[1]); console.log(result);
这使用了一种称为“装饰-排序-取消装饰”或施瓦兹变换的技术。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.