循环遍历对象数组时,JavaScript“未定义不是函数”

时间:2014-06-11 14:43:51

标签: javascript arrays angularjs d3.js

我正在使用带有Angular的d3。我在控制器中初始化了一个对象数组:

myApp.controller('LineChartCtrl', ['$scope', function($scope){
  $scope.d3Data = [
    {date: "1-May-12", close: 98},
    {date: "30-Apr-12", close: 96},
    {date: '27-Apr-12', close: 75},
    {date: "22-Apr-12", close: 48}
  ];
}]);

在正确接收数据的d3指令中,我使用了函数:

data.forEach(function(d) {
  d.date = parseDate(d.date);
  d.close = +d.close;
});

解析日期(不确定第三行实际上做了什么......它将某些内容转换为JavaScript Number对象可能......)。但是,第二个片段会返回错误:“未定义不是函数。”我是否以某种方式错误地访问了此对象的属性?

1 个答案:

答案 0 :(得分:2)

JS中没有像parseDate这样的东西。你可以尝试

d.date = new Date(d.date);