之前面试测试了ShuffleAlgorithm,写的比较简单。核心思想如下:创建一个空的结果数组;依次从原数组中随机抽样,然后将结果按顺序推送到数组中;为了防止碰撞,每次采样后从原数组中删除该元素;其实还有一种方法可以从原数组中按顺序取出元素,然后在新数组中随机放置,但是这样不能消除碰撞问题functionshuffle(arr){letlen=arr.length;让res=[];for(leti=0;i

之前面试测试了ShuffleAlgorithm,写的比较简单。核心思想如下:创建一个空的结果数组;依次从原数组中随机抽样,然后将结果按顺序推送到数组中;为了防止碰撞,每次采样后从原数组中删除该元素;其实还有一种方法可以从原数组中按顺序取出元素,然后在新数组中随机放置,但是这样不能消除碰撞问题functionshuffle(arr){letlen=arr.length;让res=[];for(leti=0;i