【发布时间】:2014-05-12 13:18:58
【问题描述】:
我一直在尝试解决这个问题,但没有成功。我有 2 个数组:
var dates = [
new Date(2014, 4, 11, 10, 10, 0).getTime(),
new Date(2012, 4, 10, 8, 20, 0).getTime(),
new Date(2013, 4, 9, 7, 20, 0).getTime(),
new Date(2010, 4, 7, 12, 59, 0).getTime()
];
var newsItems = ["NewsItem1","NewsItem2","NewsItem3","NewsItem4"];
我正在使用函数var desc = dates.sort(function(a,b){return b-a});
然而,为了对日期数组进行排序,我无法弄清楚如何重新排列 newsItems 数组以使其与日期数组对齐。我试过了,但它似乎不起作用:
var datesDuplicate = [
new Date(2014, 4, 11, 10, 10, 0).getTime(),
new Date(2012, 4, 10, 8, 20, 0).getTime(),
new Date(2013, 4, 9, 7, 20, 0).getTime(),
new Date(2010, 4, 7, 12, 59, 0).getTime()
];
for(var i = 0; i < arrayLength; i++){
for(var j = 0; j < arrayLength; j++){
if(dates[i] == datesDuplicate[j]){
document.getElementById(getElement(i)).innerHTML = newsItems[j];
break;
}
}
}
非常感谢任何帮助。
【问题讨论】:
-
newsItems 元素的顺序是否直接对应于当前的 Date 对象?一个简单的解决方法是将一对 newsItems 与日期放在一个列表中?例如,[[date1,newsItem1],[date2,newsItem2]....]
-
是的,newsItems 中元素的顺序对应于它们的日期顺序,因此,它们确实相互对应,但是,您能否澄清一下“配对”,因为我不熟悉它。
-
即
[..., date: new Date(2012, 4, 10, 8, 20, 0).getTime(), item: 'NewsItem2'}, ...]
标签: javascript arrays sorting date