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] = this[n];    this[n] = lastone;  }};

// 数组去重(返回新数组)Array.prototype.removeDuplicate = function () {  let obj = {};  const len = this.length;  for (let i = 0; i<len; i++) {    if (obj[this[i]]) continue;    obj[this[i]] = this[i];  }  return Object.keys(obj);};

// 用法arr.removeDuplicate();arr.randomSort();

原文地址:https://www.cnblogs.com/qddyh/p/10455575.html

时间: 2024-10-18 05:33:40

javascript实现数组随机排序和去重的相关文章

关于JavaScript的数组随机排序

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

java数组随机排序实现代码

例一 代码如下 复制代码 import java.lang.Math;import java.util.Scanner;class AarrayReverse{ public static void main(String args[]) { int a[]=new int[20]; for(int i=0;i<=15;i++) { Scanner sca=new Scanner(System.in); System.out.println("请输数组元素a["+"]&

JS 中数组的排序和去重

在 PHP 中,数组有很多排序方法,不过其他语言的数组中大概是不会像 JS 的数组一样,包罗万象,啥都通吃的.所以 JS 的数组排序情况就略多一些了. 简单粗暴的排序: 赤果果的sort: var  arr = ['Jason','Eric','Rose','Paul'] arr.sort()// arr => ['Eric','Jason','Paul','Rose']; 这样排序的前提是数组本身元素类型单一,都为数字或者字符串,默认排序为按照首字母进行增序: 稍微不那么粗暴的:  有排序函数

JavaScript对数组进行排序小程序

JavaScript数组的sort()函数是按字符串大小排序,不能正确对一组数字进行排序下面的小程序通过一个自编的函数实现了对一组数字进行排序的功能. <script> function mysort(a){ var n=a.length; var newa=[]; var temp; for(var i=0;i<n;i++) { for(var j=i;j<n;j++) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; }

数组随机排序

以前没怎么用过,下面简单看一看Random是怎么用的. 假如被问到如何利用对一个数组进行shuffle,那么我们可以有一些简单的方法. 1. 使用系统自带的sort,然后传入一个Comparator,里面带一个double r = Math.random(),代码如下 这个Time Complexity就是O(nlogn)了 Integer[] nums = new Integer[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; Arrays.sort(nums, new C

随机获取数组元素 和 数组元素随机排序

<script type="text/javascript"> //随机取得数组中的一个元素 function Rand(){ var arr=[11,22,33,44]; var a=Math.floor(Math.random()*arr.length);//Math.floor(Math.random()); //Math.floor()方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数. //alert(Math.random()*arr.

随机排序整个数组

<script type="text/javascript"> //随机排序整个数组 var Arr1=[1,2,3,4,5,6,7,8,9,10,22,33,55,77,88,99]; Arr1.sort(function(){return Math.random()>0.5?-1:1;}); alert(Arr1); </script>

JavaScript中数组Array.sort()排序方法详解

JavaScript中数组的sort()方法主要用于对数组的元素进行排序.其中,sort()方法有一个可选参数.但是,此参数必须是函数. 数组在调用sort()方法时,如果没有传参将按字母顺序(字符编码顺序)对数组中的元素进行排序,如果想按照其他标准进行排序,就需要进行传一个参数且为函数,该函数要比较两个值,并且会返回一个用于说明这两个值的相对顺序的数字. 1.对数字数组进行由小到大的顺序进行排序. 代码: var arr = [22,12,3,43,56,47,4]; arr.sort();

对JavaScript对象数组按指定属性和排序方向进行排序

引子 在以数据为中心的信息系统中,以表格形式展示数据是在常见不过的方式了.对数据进行排序是必不可少的功能.排序可以分为按单个字段排序和按多个字段不同排序方向排序.单字段排序局限性较大,不能满足用户对数据的关注点变化的需求,而多字段排序就可以较好的弥补这个缺陷. 多字段排序,实现的方式从大的层面上可以分为后端实现和前端实现. 后端排序 后端实现排序可以在数据库层面实现或者在应用程序层面实现. 数据库层面实现多字段排序非常简单,使用SQL的排序指令“Order By”即可——Order By fie