原声写法操作table

最近有些时间,帮助一个朋友写了一个系统类型的计算题,涉及了如何使用原生demo操作table

业务需求

1.当点击先来先服务算法获取 进程 创建时间 运行时间 进行计算

2.点击短作业算法 获取 进程 创建时间 运行时间 进行计算

		// 计算服务算法
	     function CalculationServices(){
			 var obj= new Calculation()
			 obj.CalculationServices();
		 }
		 // 计算作业算法
	     function CalculationWork(){
			var obj=new Calculation()
			obj.CalculationWork()
		 }
		  // 清除
		  function Calculationclear(){
			//alert('清除')
		 }

		 function Calculation(){
			 // 获取值 
			 this.process= this.Obtain(0);
			 this.Creation= this.Obtain(1);
			 this.Running= this.Obtain(2);
		 }
		 // 短作业算法 
		 Calculation.prototype.CalculationWork= function (){
			
			// 开始计算
			var EndTime=this.EndTime([this.process,this.Creation,this.Running])
			var TurnoverTime =this.TurnoverTime([process,Creation,Running])
			var WeightedTurnoverTime=this.WeightedTurnoverTime([process,Creation,Running])
			// 设置值
			this.settdValue(EndTime,3)
			this.settdValue(TurnoverTime,4)
			this.settdValue(WeightedTurnoverTime,5)
		 }

		 // 先来先服务算法 
		 Calculation.prototype.CalculationServices=function(){
			// 开始计算
			var EndTime=this.EndTime()
			var TurnoverTime =this.TurnoverTime()
			var WeightedTurnoverTime=this.WeightedTurnoverTime()
			// 设置值
			this.settdValue(EndTime,3)
			this.settdValue(TurnoverTime,4)
			this.settdValue(WeightedTurnoverTime,5)
		 }
		 
		 // 结束时刻	公式
	     Calculation.prototype.EndTime= function(){
           var process=  this.process;var Creation=  this.process;var Running=  this.process;
			 var data=[]
				for(var t in process[0]){
					data.push(
                        process[0][t]+Creation[1][t]+Running[2][t]
					)
				}
			return data
		 }
		 // 周转时间 公式
		 Calculation.prototype.TurnoverTime =function (){
             var process=  this.process;var Creation=  this.process;var Running=  this.process;
			var data=[]
				for(var t in process[0]){
					data.push(
						(process[0][t]+Creation[1][t])-Running[2][t]
					)
				}
			return data
		 }
		 // 带权周转时间 公式
		 Calculation.prototype.WeightedTurnoverTime= function (){
             var process=  this.process;var Creation=  this.process;var Running=  this.process;
			var data=[]
				for(var t in process[0]){
					data.push(
                        process[0][t]+Creation[1][t]+Running[2][t]
					)
				}
			return data
		 }

		 // 获取进程 创建时间 运行时间	
		Calculation.prototype.Obtain = function (index){
			 var dataObject=[];
			 var table = document.querySelector('table');
			 dataObject=gettdValue(table,index);
			 return dataObject;
		 }
		 // 获取td
		 function gettdValue(table,i){
			 var value={};
			var td= table.querySelectorAll('tr')[i].querySelectorAll('td');
			td.forEach(function(element,index){
				if(index!==0){
					value[index-1]= element.querySelector('input').value?parseFloat(element.querySelector('input').value):element.querySelector('input').value
				}
			});
			return value
		 }
		 // 设置值
		 Calculation.prototype.settdValue= function (dataValue,i){
			var   gettype=Object.prototype.toString;
			if(gettype.call(dataValue)!=='[object Array]'){
				alert("类型错误");
				return;
			}
			 var value={};
			 var table = document.querySelector('table');
			dataValue.forEach(function(value,index){
					var td= table.querySelectorAll('tr')[i].querySelectorAll('td');
					td[index+1].innerHTML=value;
			});
			return value
		 }
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值