如何消除一个数组里面重复的元素?

         var arr=[1,2,3,3,4,4,5,5,6,1,9,3,25,4];
         function deRepeat(){
             var newArr=[];
             var obj={};
             var index=0;
             var l=arr.length;
             for(var i=0;i<l;i++){
                 if(obj[arr[i]]==undefined)
                   {
                     obj[arr[i]]=1;
                     newArr[index++]=arr[i];
                  }
                 else if(obj[arr[i]]==1)
                   continue;
             }
             return newArr;

         }
         var newArr2=deRepeat(arr);
         alert(newArr2); //输出1,2,3,4,5,6,9,25
时间: 2024-08-25 08:46:21

如何消除一个数组里面重复的元素?的相关文章

消除一个数组中重复的元素

使用JavaScript消除一个数组中重复的元素 var arr1 = [1,1,2,3,4,5,6,6,6,7],arr2 = []; for(var i=0;i<arr1.length;i++){ if(arr2.indexof(arr1[i] < 0){ arr2.push(arr1[i]); } } document.write(arr2); //1,2,3,4,5,6,7

JS一趟循环消除一个数组里重复的元素

var arr=[1,2,3,3,4,4,5,5,6,1,9,3,25,4]; function deRepeat(){ var newArr=[]; var obj={}; var index=0; var l=arr.length; for(var i=0;i<l;i++){ if(obj[arr[i]]==undefined) { obj[arr[i]]=1; newArr[index++]=arr[i]; } else if(obj[arr[i]]==1) continue; } ret

用正则去掉数组中重复的元素

<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> //去掉数组中重复的元素 //此题最主要就是对数组进行排序拼接,在进行replace的替换,在进行分割,将其return到外部 //随机生成随机数压入空数组arr中 for(var i=0,arr

已知一个数组,将所有元素乘二存储到原数组

/** * */package Student_System;import java.util.*;/**Homework11 * *ArrayDemo05 * 已知一个数组,将所有元素乘二存储到原数组 * @author 读你一世* * QQ: 1816274408 *2017年4月13日下午10:05:22 * */public class ArrayDemo05 { public static void main(String[] args){// 确定数组元素,便于赋值 Scanner

442. 找出数组中重复的元素 Find All Duplicates in an ArrayGiven an array of integers

Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elements that appear twice in this array. Could you do it without extra space and in O(n) runtime? Example: Input: [4,3,2,7,

自己编写一个数组去掉重复元素的函数

自己研究编了一个数组去重的函数,看到过其他人编写的,不过大多数都是已付出很大的存储空间为代价,于是自己编写了一个函数,有好的意见或思想欢迎和我一起分享! #include <stdio.h>#include <string.h> #define MAX_FRIEND 100 int repeats_num[MAX_FRIEND]; /*升序排序*/int comp_int_inc(void *a,void *b){ return ( *((int *)a) - *((int *)b

查找一个数组中超过一半的元素

程序1.0 思想:现将数组排序,再找出元素 void Arraysort(int *a, int length)//冒泡O(n^2) { for (size_t i = 0; i < length; i++) { for (size_t j = 1; j <length - 1 - i; j++) { if (a[j]>a[j + 1]) swap(a[j], a[j + 1]); } } } int MorethanHalfNumber(int *a, int length) { Ar

一个数组中超过一半的元素

#include <stdio.h> #include <stdlib.h> /* 给定一个n个整型元素的数组a, 其中有一个元素出现次数超过n/2, 求这个元素. */ int getExceedHalf(int *numbers, int length); int main(){ int n; while (printf("Please input n:\n"), fflush(stdin), scanf("%d", &n) !=

Ex 2_23 如果一个数组超过半数的元素都相同时,该数组被称为含有一个主元素..._第二次作业

将数组A划分为两个数组A1和A2 ,各含有A的一半元素或一半多一个.若A中含有主元素x,则A1和A2中至少有一个数组含有主元素x,对A1和A2递归地计算有无主元素,若A只含有一个元素,则A的主元素就是这个元素,否则计算出A1和A2的主元素x1和x2: 若x1和x2都不存在,则A不存在主元素 若x1和x2有一个存在,则检查这个元素是否为A的主元素 若x1和x2都存在且不相等,则分别检查这个元素是否为A的主元素 若x1和x2都存在且相等,则这个元素就是A的,主元素 1 package org.xiu