【发布时间】:2016-12-23 19:52:44
【问题描述】:
我有以下数据结构:
var array = [
2016-11-24: Object,
2016-11-25: Object,
2016-11-26: Object,
2016-11-27: Object,
2016-11-28: Object
]
我想将数组从最旧的数据排序到最新的数据,但我在让它工作时遇到了一些麻烦。我一直在关注这个资源 (Sort Javascript Object Array By Date),但数组不会排序。
我相信对象可能会影响这一点,但我不确定当数组中有对象时如何使用 sort()。
我错过了什么?
编辑:
更多信息。我正在通过一个如下所示的 .each() 函数来构建它:
var retentionValues = [];
jQuery.each(results.values(), function( a, b ) {
var retentionData = {};
//Go deeper into the object under each data
$.each(b, function(c, d){
//Add People values into object
if (c === "first") {
retentionData["People"] = d;
} else { //Add values for specific days or weeks
//Go into object under counts
$.each(d, function(e, f){
retentionData["Retention Day " + e] = f;
})
}
})
//Push dates into array and create object for data
retentionValues[a] = retentionData;
});
我需要数组的键是日期,因为我将它传递给另一个函数,但我需要在此之前对数据进行排序。
【问题讨论】:
-
您的阵列到底是什么样的?你试过什么代码?
-
您的数组看起来无效。要么它是一个具有属性的对象,那么没有排序可以改变顺序,或者你有一个对象数组,那么一个顺序是可能的。
-
@Mottie 我尝试使用 sort() 并编写一个短函数来比较两个值(a,b)。
-
@NinaScholz 显示实际数组结构的最佳方式是什么?开发者控制台的屏幕截图是否有效?
-
@RubenUgarte,你可以使用 JSON.stringify 和一个分隔符并显示字符串,你得到上面的字符串形式。
标签: javascript arrays sorting object