给数组随机打乱

var data = obj.data;//获取数组

function randomsort(a, b) {    return Math.random()>.5 ? -1 : 1;    //用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1}

var pieData= data.proportion.sort(randomsort);//数组sort方法,返回1 换位置,返回-1不换位置
时间: 2024-08-06 20:06:21

给数组随机打乱的相关文章

将一个数组随机打乱

public int [] shuffle(int [] arr) { int [] arr2 =new int[arr.length]; int count = arr.length; int cbRandCount = 0;// 索引 int cbPosition = 0;// 位置 int k =0; do { Random rand = new Random(); int r = count - cbRandCount; cbPosition = rand.nextInt(r); arr

php保留键随机打乱数组顺序

最近遇到一个需求,把一个数组随机打乱顺序,我们可以用php的shuffle函数,但是这个函数会把数组的键清空建立新的键,那么我们若想保留键只需要利用shuffle函数再做一下处理就可以了.可以自定义一个函数. <?php function retain_key_shuffle(array &$arr){ if (!empty($arr)) { $key = array_keys($arr); shuffle($key); foreach ($key as $value) { $arr2[$v

简单说说随机打乱数组的方法

原文链接:http://www.gbtags.com/gb/share/5646.htm 把一个数组随机打乱这个需求来源可能就是“洗牌”,所以我们常常称之为洗牌问题.这个问题实现并不复杂,有不少方法可以完成.与其他算法不同,洗牌问题不仅追求速度,还要求“洗得足够开”.今天只想写篇短的,只分享两种比较有代码性的洗牌方法.至于这些方法能不能真正将数组随机打乱,我们下次再讲. 方法一,随机排序法: function shuffle(array) { array.sort(function() { re

随机打乱数组元素

把数组内的元素随机打乱,重新进行排列  C#版: 1 public static void Shuffle<T>(T[] array) 2 { 3 Random random = new Random(); 4 5 for (int i = 0; i < 10; i++) 6 { 7 int idx = random.Next(i, 10); 8 9 //swap elements 10 T tmp = array[i]; 11 array[i] = array[idx]; 12 arr

随机打乱一组数据(算法)

最近一个项目的开发中遇到一个需求,有一组数1,2,3,4,5,6,7,8,0. 哈哈,如何将它随机打乱生成一个0-8的任意排列呢?比如生成0.6.1.2.3.4.5.7.8等等. 算法思路: 1.使用Arraylist存放这组数 2.随机生成Arraylist的下标值,根据下标值依次取出Arraylist值,直到Arraylist为空 哈哈,是不是很简单.......... 下面看代码: private static void genRandomData() { int data[] = { 1

java list随机打乱

java list随机打乱package arrlist; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; /** * 打乱列表中数据元素的三种实现方法 * * @author Alexia * @date 2013-7-16 * */ public class ShuffleTest { // 打乱列表实现方法1 public <T

Python 实现随机打乱字符串

# 随机打乱字符串 # import random def shuffle_str(str=''): l = list(str) # 将字符串转换成列表 random.shuffle(l) # 调用random模块的shuffle函数 return ''.join(l) # 列表转字符串 for i in range(5): print(shuffle_str('hello world!')) 输出结果: leo hdlrlow! oolrh lelw!d !lwrholol de wll er

关于JavaScript的数组随机排序

Fisher–Yates随机置乱算法也被称做高纳德置乱算法,通俗说就是生成一个有限集合的随机排列.Fisher-Yates随机置乱算法是无偏的,所以每个排列都是等可能的,当前使用的Fisher-Yates随机置乱算法是相当有效的,需要的时间正比于要随机置乱的数,不需要额为的存储空间开销. 一.算法流程: 需要随机置乱的n个元素的数组a:for i 从n-1到1 j <—随机整数(0 =< j <= i) 交换a[i]和a[j] end 二.实例 各列含义:范围.当前数组随机交换的位置.剩

javascript实现数组随机排序和去重

let arr = ['g', 'b', 'c', 'd', 'e', 'a', 'g', 'b', 'c']; // 数组随机排序(原数组被修改)Array.prototype.randomSort = function () { const len = this.length; for (let i = len - 1; i > 1; i--) { let n = Math.floor(Math.random() * i); let lastone = this[i]; this[i] =