js求数组总和、最大值、最小值、平均值、标准差

data是数组时

function getX(data){
    
    
	var len=data.length;						//数组长度
	var sum=0;	//值相加的总和
	var sums=0; //值-平均的总和

	for(var i=0;i<len;i++){
    
    
		sum+=data[i];		//总和
	}
	//排序
	arr.sort(function (a, b) {
    
    
		 return a-b;
	});
	var min = arr[0];  						//最小值
	var max = arr[arr.length - 1]; 			//最大值
	var avg = sum/len;						//平均值
	for(let i = 0; i < len; i++){
    
    
		  sums +=(Number(arr[i])- avg)*(Number(arr[i])- avg)
	}
	var sd=(Math.sqrt(sums/len)).toFixed(len);	//标准差
}

data是集合时

// data是集合 存储类型为  0:[0,1]
function getX(data){
    
    
	var len=data.length; //集合长度
	var sum=0;	//值相加的总和
	var sums=0; //值-平均的总和
	var arr=[];
	for(var i=0;i<len;i++){
    
    
		var x1data=data[i];	 
		//x1data[1]是获取数据的第二位元素的值 比如【x,y】,这里是获取y的值
		sum+=x1data[1];		//总和
		arr.push(x1data[1]); 
	}
	//排序
	arr.sort(function (a, b) {
    
    
		 return a-b;
	});
	var min = arr[0];  						//最小值
	var max = arr[arr.length - 1]; 			//最大值
	var avg = sum/len;						//平均值
	for(let i = 0; i < len; i++){
    
    
		 sums +=(Number(arr[i])- avg)*(Number(arr[i])- avg)
	}
	var sd=(Math.sqrt(sums/len)).toFixed(len);	//标准差
	//var sd= Math.sqrt(deviations.map(square).reduce(sum)/len);
	// var sd= Math.sqrt(arr.map(n=> (n-avg) * (n-avg)).reduce(sum) / (x2-x1));
}

猜你喜欢

转载自blog.csdn.net/qq_45525250/article/details/121655040
今日推荐