本文介绍了数组删除重复的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们需要清除重复的内容。目前的结果是重复的。

I need to remove the duplicates after they are shuffled. Currently the results come out with duplicates.

示例:结果2,2,1,4,4,3,5,5,我需要2,1,4,3,5

Example: Results 2,2,1,4,4,3,5,5, I need as 2,1,4,3,5

这是一个大数组

<script>
Array.prototype.shuffle = function() {
var input = this;

for (var i = input.length-1; i >=0; i--) {

    var randomIndex = Math.floor(Math.random()*(i+1));
    var itemAtIndex = input[randomIndex];

    input[randomIndex] = input[i];
    input[i] = itemAtIndex;

}
return input;
}

var tempArray = [

1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,

2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,

3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,

4,4,4,4,4,4,4,4,4,4,4,4,4,

5,5,5,5,5,
]

tempArray.shuffle();

document.write(tempArray);

</script>


推荐答案

而不是使用那个大数组,只需使用 [1,2,3,4,5] .shuffle()。这样,你不会得到重复的。但是这里有一个函数可以给你一个独一无二的数组,即没有重复的数组:

Instead of using that large array, simply use [1,2,3,4,5].shuffle(). This way, you won't get duplicates. But here's a function that will give you a unique array, i.e., an array without duplicates:

function unique(arr) {
  var result = [],
      map = {};
  for (var i = 0; i < arr.length; i++) {
    var duplicate = map[arr[i]];
    if (!duplicate) {
        result.push(arr[i]);
        map[arr[i]] = true;
    }
  }
  return result;
}

然后,只需使用 unique(tempArray.shuffle ))

这是一个

Here's a DEMO.

这篇关于数组删除重复的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-13 06:39