我循环遍历所有具有日期属性的对象数组。我在循环中设置的用于将对象的日期与今天的日期进行比较的条件应该只处理数组中由于旧日期而希望保留的一些对象,但是,这个条件是删除数组中的所有对象一些原因。
使用 getTime() 无效。 getTime 从数组中删除所有内容。就像我在这里试过的那样:
constructor ( public navCtrl: NavController,
public modalCtrl: ModalController,
public loading: LoadingController,
public popoverCtrl: PopoverController,
public getPostSrvc: getPostsService) {
this.listOfEvents = [];
let that = this;
function getPostsSuccess (listOfEventsObject) {
for (var i in listOfEventsObject) {
if(listOfEventsObject[i].date.getTime() < Date.now()){
that.listOfEvents.push(listOfEventsObject[i]);
}//close if
}//close for loop
}//close function
}//close constructor
更新 我的解决方案:
export class Home {
listOfEvents: Array<any> = [];
parseDate: number;
today : number;
constructor ( //constructor stuff ){
for (var i in listOfEventsObject) {
that.today = Date.now();
that.parseDate = Date.parse(listOfEventsObject[i].date);
if( that.parseDate > that.today){
that.listOfEvents.push(listOfEventsObject[i]);
}//close if
}//close for
}//close constructor
}//close export
最佳答案
如果像RobG在评论中提到的那样,listOfEventsObject[i].date
的值是一个字符串,你可以先解析它,并将得到的Date值与Date进行比较.now()
:
if (Date.parse(listOfEventsObject[i].date) < Date.now()) {
...
}
关于javascript - 如何将具有旧日期的对象保留在我的数组之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44667788/