我有来自调用.net控制器的数组。
我正在获取这些日期值:
/日期(1445256000000)/和/日期(1445256900000)/
而不是我希望能够获得正确的日期值。
现在因为我有对象数组,所以我希望能够在将它们发送到视图之前在数组中更新它们。
这就是我所拥有的:
$http({
method: 'GET',
url: '/Driver/GetDriverTrips',
params: { id: id }
}).
success(function (data) {
var startDate= new Date(data[0].StartTime.match(/\d+/)[0] * 1);
alert(myDate);
});
所以这个转换工作正常,但问题是我想循环遍历数组中的所有相同对象,进行转换然后再将其保存在数组中。
我可以做任何功能吗?
由于
答案 0 :(得分:1)
尝试使用map
var array = $(data).map(function(){
return new Date(this.StartTime.match(/\d+/)[0] * 1);;
});
或者,覆盖StartTime
$.each(data, function(index, element) {
element.StartTime = new Date(element.StartTime.match(/\d+/)[0] * 1);
});
答案 1 :(得分:0)
像
这样的东西$.each(data, function(index, element) {
var startDate= new Date(element.StartTime.match(/\d+/)[0] * 1);
});
将循环遍历所有返回的元素并提取日期。
你可以拥有第二个数组,比如finalDates
,并在循环时将转换后的日期推送到该数组中。
答案 2 :(得分:0)
我的方法使用通常的for
语句,这个语句有点冗长,但我更喜欢,因为长期是遍历数组的最有效方法。
因此,对于每次迭代,我在位置data
(i
)处得到data[i]
,并将结果存储在名为finalDate的临时变量中,然后最终将其推送到finalDates数组。那就是你要找的东西?
var finalDates = [];
$http({
method: 'GET',
url: '/Driver/GetDriverTrips',
params: { id: id }
}).
success(function (data) {
var finalDate;
for(var i=0; i<data.length; i++) {
finalDate = new Date(data[i].StartTime.match(/\d+/)[i] * 1);
finalDates.push(finalDate);
}
});