Javascript 用角坐标求计算值的平均值
所以我试着用百分比来计算每个日期两次之间的差异(把它记下来),然后把所有的百分比加起来,得到平均值,但我不知道如何计算。数据来自JSON。有什么想法吗?非常感谢你的帮助 这是html:Javascript 用角坐标求计算值的平均值,javascript,angularjs,Javascript,Angularjs,所以我试着用百分比来计算每个日期两次之间的差异(把它记下来),然后把所有的百分比加起来,得到平均值,但我不知道如何计算。数据来自JSON。有什么想法吗?非常感谢你的帮助 这是html: <div ng-controller="MainController as main"> <section class="view"> <h1>Stuff</h1> <ul class="stuff"> &
<div ng-controller="MainController as main">
<section class="view">
<h1>Stuff</h1>
<ul class="stuff">
<li ng-repeat="item in main.logs">
<p>{{$index + 1}}</p>
<p>{{ item.date }}</p>
<p>{{ main.logs.calc(item.start, item.loggedIn) }} %</p>
</li>
</ul>
</section>
</div>
控制器,到目前为止我拥有的:
angular.module('myApp', [])
.controller('MainController', ['$http', function($http){
var checklog = this;
checklog.logs = [];
$http.get('./login.json').success(function(data){
checklog.logs = data;
checklog.logs.calc = function(d1, d2) {
checklog.logs.percent = [];
var d1 = new Date(d1).getTime();
var d2 = new Date(d2).getTime();
var diff = ( ((d2 - d1) / 60000) / 60 ) * 100 ;
checklog.logs.percent = 100 - Math.floor(diff);
return checklog.logs.percent;
}
});
}]);
JSON是这样的:
[{
"date" : "2015-09-15",
"start" : "2015-09-15 17:00:00+10",
"loggedIn" : "2015-09-15 17:06:27+10",
}]
您不应该修改checklogs.logs的属性,因为它是一个数组。改为修改
checklog
本身的属性。感谢您的提醒。或者,如果您想要每个item元素的附加属性,您可以迭代数组并修改checklogs.logs[i]
的属性。
[{
"date" : "2015-09-15",
"start" : "2015-09-15 17:00:00+10",
"loggedIn" : "2015-09-15 17:06:27+10",
}]