【学】数组去重的3种方式

数组去重的3种方式


var arr = [1,4,2,3,4,5,6,7,3,4,5,23,2,3,4,5,3,2,3,4,5];

 

function findInArray(n,arr){

    for (var i=0; i<arr.length; i++) {

        if(arr[i]==n){

            return true;

        }

    }

    return false;

}

 

function removeRep1(arr){ //方法2

    var arr1 = [];

    for (var i=0; i<arr.length; i++) {

        if(!findInArray(arr[i],arr1)){

            arr1.push(arr[i]);

        }

    }

    return arr1;

}

 

function removeRep2(arr){ //方法2,先排序,然后将前后相同的元素删除一个,再i--

    arr.sort();

    for (var i=0; i<arr.length; i++) {

        if(arr[i]==arr[i+1]){

            arr.splice(i,1);

            i--;

        }

    }

    return arr;

}

 

function removeRep3(arr){ //方法3,运用json里面键不能重复的特性

    var json = {};

    var arr3 = [];

    for (var i=0; i<arr.length; i++) {

        json[arr[i]] = ‘hello‘;//json中的每个键就是数组中的值,值都写hello也没关系,可以重复,而json中的键是不能重复的,如果遇到一样的键,会把前面相同的键以及对应的值都覆盖

    }

    for (var name in json){

        arr3.push(Number(name));

    }

    console.log(arr3);

}

removeRep3(arr);

时间: 2024-10-12 19:11:51

【学】数组去重的3种方式的相关文章

JavaScript数组去重的7种方式

1.利用额外数组 function unique(array) {    if (!Array.isArray(array)) return;     let newArray = [];    for(let i=0, len=array.length; i<len; i++) {        let itemAtIndex = array[i];        if (!newArray.includes(itemAtIndex)) { // newArray.indexOf(itemAt

数组去重的几种方式

一.利用indexOf查找,ie9以下不兼容 function noRepeat(ary) { if (ary instanceof Array) { var newAry = []; for (var i = 0; i < ary.length; i++) { var cur = ary[i]; if (newAry.indexOf(cur) === -1) {//indexOf IE9以下不兼容 newAry.push(cur) } } return newAry; } } 二.利用对象属性

js中数组去重的几种方法

js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                         for(var i=0;i<arr.length;i++){                                 for(var j=i+1;j<arr.length;j++){                                         if(ar

数组遍历的2种方式

for o in aa{ println(o) } for (index,value) in enumerate(aa){ println("\(index)\(value)") } 数组遍历的2种方式,布布扣,bubuko.com

有序数组去重的几种算法

最差的算法: 最差的算法: 去重,与数组是否有序无关 public void noDups(){ //从0开始遍历 for(int i=0; i<nElems-1; i++){ //与后面每一个比较 for(j=i+1; j<nElems; j++){ //如果相等,后面的所有的项向前移动,总数-1 if(a[i]==a[j]){ for(k=j+1; k<nElems; k++){ a[j] = a[j+1]; nElems--; } } } } } 把后面不同的往前 public v

Javascript数组去重的几种方法

Javascript数组去重的几种方法 新建空数组,通过for...of(ES6)循环遍历,通过indexOf判断元素是否在新数组中存在,将不存在的(indexOf(n)==-1)元素push到新数组中: let arr = [1,1,2,2,3,6,3,77,88,5,98,9,7,2,7,5,3,4,2]; function removeDup_indexOf(originalArr){ let newArr = []; for(n of originalArr){ if(newArr.in

数组去重的几种方法

JS数组去重的几种常见方法 JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(arra

C++ 数组遍历的两种方式

C++ 数组遍历的两种方式: #include <iostream> using namespace std; int main() { // 一维数组 int fibonacci[5] = {1, 1, 2, 3, 5}; // 使用索引遍历 // 求数组长度:sizeof(array)/sizeof(array[0]) cout << "Traverse By Index: "; for (int i = 0; i < sizeof(fibonacci

数组去重的几种常见方法?

数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } retur