2014-05-22 62 views
1

我有一个$ scope对象具有日期属性。我试图将该日期分成dd,mm和yyyy,以便我可以根据这些值执行计算。分割日期值

JS:

$scope.expenses = [ 
    { 
     amount: 100, 
     SpentOn: '19/04/2014' 
    }, 
    { 
     amount: 350, 
     SpentOn: '01/09/2013' 
    } 
    ]; 

$scope.MySplitDateFunction = function() { 

    var data = []; 
    var data = $scope.expenses.SpentOn.split('/'); 
    data.day = SpentOn[0]; 
    data.month = SpentOn[1]; 
    data.year = SpentOn[2]; 
    return data; 

}; 

我收到以下错误:$ scope.expenses.SpentOn是未定义

回答

1

,因为在你的程序$ scope.expenses有两个对象,你有没有指定哪个是

尝试了这一点

$scope.MySplitDateFunction = function() { 

    var data = []; 
    var data = $scope.expenses[0].SpentOn.split('/'); 
    return data; 
}; 
+0

谢谢,在我的例子中,我只提供了2个对象用于示例目的。数据将来自具有50多个对象的JSON文件。 –

+0

也看看这个http://jsfiddle.net/3VxzR/1/ –

+1

在这里你可以添加任何一个对象,并尝试 –

1

$scope.expenses返回与这两个对象的数组所以你必须做的是这样

$scope.expenses[0].SpentOn // returns 19/04/2014 

或者你可以删除[]使它的对象,而不是对象

的数组
+0

谢谢,在我的例子中,我只提供了2个对象用于示例目的..数据将来自一个JSON文件与50 +对象。 –

+1

@OamPsy它仍然是一个数组,所以你将不得不循环所有的对象 – Spokey

+0

谢谢,我仍然看到错误:SpentOn没有定义 –

1

$scope.expenses似乎是对象的数组,你必须尝试

$scope.expenses[0].SpentOn 
+0

@DavalMarthak - 谢谢,我仍然看到错误:SpentOn没有定义 –