javascript数组正态分布排序

javascript数组正态分布排序,有一篇比较好的文章,原文链接如下:https://www.cnblogs.com/webLaoHe/p/5721520.html

原博的思想是,对一个数组,先从小到大排序,然后将下标为偶数的放在左侧,为奇数的时候放在右侧,在左右两边的数组增长过程中,当数组长度相等时,对左右两侧数组之和进行比较,因为是按照从小到大排列的,所以正常情况下,右侧会大于左侧,然后将右侧第一个跟左侧最后一个互换一下即可达到平衡的目的。

参照原博的写法,我在自己的项目中写了一个正态分布排序。

首先是升序排序,

 

这种写法可以根据数组的某个属性进行排序,所以在以下代码中,我们根据income属性对incomeData数组进行升序排序。

 

排序成功后,我们定义左右数组,在这个过程中我们用到了几个JS数组操作函数。

push()在数组的尾部添加一个或多个元素,与之对应的是pop(),弹出并返回最后一个元素。

unshift()是向数组的开头添加一个或多个元素,并返回新的长度的数组,与之对应的是shift(),删除并返回数组的第一个元素。

contact()连接多个数组,返回新的数组,不改变原来的数组。

熟悉了操作函数之后我们就可以理解上面的代码了。其中的compare()、sum()和wrap()函数我们做了另外的封装,代码如下。

 

这样我们就实现了正态分布排序,我是用在图表分析里的,看看图表效果还是很不错的。

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部