`

去掉数组中的重复项

 
阅读更多
假设有一个数组:
var arr = [1,1,3,4,5,6,3,8,5,6,3,8,0,9,9];
想要去掉重复的数组元素得到  [1, 3, 4, 5, 6, 8, 0, 9] 怎么实现呢?

【第一种:】利用indexOf和空数组实现
var arr = [1,1,3,4,5,6,3,8,5,6,3,8,0,9,9];
function indexOf(arr, item) {
    for (var i = 0;i<arr.length;i++) {
        if (arr[i] == item) {
            return i;
        }
    }
    return -1;
}
function unique(s_arr){
	var arrempt = [];
	for(var j =0 ;j<arr.length;j++){
		if(indexOf(arrempt,arr[j])==-1){
			arrempt.push(arr[j])
		}
	}
	return arrempt;
}
console.log(unique(arr));//[1, 3, 4, 5, 6, 8, 0, 9]

也可通过扩展Array.prototype.indexOf:
var arr = [1,1,3,4,5,6,3,8,5,6,3,8,0,9,9];
if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (searchElement) {
        //如果[1,2].indexOf 这样调用
        //this 就是 [1,2]
        var arr = this;
        for (var i = 0;i<arr.length;i++) {
            if (arr[i] == item) {
                return i;
            }
        }
        return -1;
    }
}
function unique2(s_arr){
    var arrempt = [];
    for (var k = 0;k <arr.length;k++){
        if(arrempt.indexOf(arr[k]) == -1){
            arrempt.push(arr[k])
        }
    }
    return arrempt;
}
console.log(unique2(arr));//[1, 3, 4, 5, 6, 8, 0, 9]

不过值得注意的是:了解hax的api设计讲座的知道扩展Object.prototype的做法是不推荐的,或者尽量少用的。在以前的项目里面自己在Array.prototype扩展了类似的indexOf,当然在IE8和以下的版本可能还是走你扩展的这个api,但是像ff等支持的高于JavaScript1.6版本以上的浏览器,它会去找原生的indexOf
【第二种:】利用splice实现
http://xxing22657-yahoo-com-cn.iteye.com/blog/1038480
分享到:
评论

相关推荐

    java实现去除数组中重复元素,并排序

    先声明一个数组,这个数组中可能会存在重复的元素,而且顺序也是杂乱的,要求将这个数组中的重复元素排除掉并将新得到的数组进行递增排序

    labview写的删除数组中重复项

    labview写的删除数组中重复项,数组没有重复,保持唯一性

    LabVIEW 删除数组中重复元素实例

    1. **查找重复元素**:在LabVIEW中,可以通过比较数组中的每一个元素与其余元素来找出重复项。这可以通过循环结构(例如For Loop或While Loop)配合条件判断(如Relational Operator VI)来实现。对于大数组,使用...

    JS 去掉数组中重复项

    本篇文章将深入探讨如何在JavaScript中去掉数组中的重复项,使数组中的每个元素都是唯一的。 首先,让我们通过一个简单的示例来理解问题所在。假设我们有一个数组`[1, 2, 2, 3, 4, 4, 5]`,我们希望去除其中的重复...

    labview 删除数组中重复的元素

    labview中,实现删除数组中重复的元素,产生一个新数组

    二维数组去除重复项

    3. **重构数组**:利用`array_unique()`函数去除`$temp`数组中的重复字符串,得到没有重复项的数组。然后再次遍历这个数组,根据`$stkeep`和`$ndformat`的值决定是否恢复原始的键名和子数组的键名。最后,将结果存储...

    文本去重(去除数组中重复项)

    在IT领域,文本去重是一项常见的任务,尤其是在处理大量数据或构建词表时。这个过程主要是从一个数据集合中移除重复的元素,确保每个元素只出现一次。在这个场景下,我们将关注如何在Java中实现这个功能,特别是针对...

    JS基于对象的特性实现去除数组中重复项功能详解

    本文实例讲述了JS基于对象的特性实现去除数组中重复项功能。分享给大家供大家参考,具体如下: 数组去重的方法有很多,不同的方法的效率也不相同。如前面文章JS实现的数组去除重复数据算法小结中就总结分析了4种实现...

    JS简单去除数组中重复项的方法

    在本文中,介绍了使用JavaScript去除数组中重复项的一个简单方法,这种方法通过数组遍历、判断与运算等操作技巧实现。 首先,本文介绍了一个实现数组去重的函数unique(arr),该函数接收一个数组arr作为参数。在函数...

    删除一维数组中的重复元素.rar_LabVIEW 数组_labview_labview删除重复_删除重复元素

    labview删除数组中的重复元素,不改变顺序,留下不重复的元素

    js 巧妙去除数组中的重复项

    在JavaScript编程中,处理数组并...总的来说,YUI源码中提供的这种方法是一种简洁且高效的去除数组重复项的技巧,特别适合处理大量数据。然而,在处理更复杂的数据结构时,开发者可能需要寻找其他适应性强的解决方案。

    Labview一维数组删除重复项

    排序后的数组更便于检查和去除重复项。 3. **比较相邻元素**:接着,使用“循环”结构(如For Loop或While Loop)遍历数组。在每次迭代中,比较当前元素与前一个元素是否相同。如果不同,则保留当前元素;如果相同...

    删除定制整型数组中重复元素输出剩余元素

    总的来说,Java中删除整型数组重复元素的核心在于选择合适的数据结构(如HashSet)和适当的转换方法。通过这种方式,我们可以有效地处理数组中的重复值,提高数据处理的效率和准确性。对于初学者,掌握这些基础知识...

    C#验证数组元素是否重复

    然而,在处理数组时,一个常见的需求是检查数组中是否存在重复的元素,这对于数据校验、排序算法、去重操作等场景至关重要。 ### C#验证数组元素是否重复的知识点 #### 1. 数组的定义与初始化 在C#中,数组可以...

    如何高效率去掉js数组中的重复项

    总结起来,去除JavaScript数组中的重复项有多种策略,包括常规模式、利用`sort()`函数以及利用JSON对象。每种方法都有其适用场景,开发人员应根据实际需求选择最适合的方法。在处理大量数据时,推荐使用利用JSON对象...

    VBA数组合并,去除数组中的相同项

    VBA简单代码,合并数组,并且去除数组中的相同项!生成新的数组里不包含相同项。

    php处理二维数组(去除重复项,排序,转换,去空白等)

    ### 四、去除数组中的空白 当数组中包含不必要的空白字符时,我们可以使用`trim()`函数或其他方法来清理这些空白。 #### 示例: ```php $array = [ 'a' =&gt; [' title ' =&gt; ' A Title ', ' date ' =&gt; ' 2021-01-01...

    易语言取数组中重复文本下标源码.7z

    在处理字符串数组时,我们可能需要找出其中相同的文本元素,这通常是为了去除重复数据、统计重复项或进行其他分析。易语言中没有内置的函数直接用于查找数组中重复的元素,因此需要自定义函数或者编写源码来实现这个...

Global site tag (gtag.js) - Google Analytics