当前位置: 首页 > 编程笔记 >

JavaScript基于对象去除数组重复项的方法

扶文光
2023-03-14
本文向大家介绍JavaScript基于对象去除数组重复项的方法,包括了JavaScript基于对象去除数组重复项的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了JavaScript基于对象去除数组重复项的方法。分享给大家供大家参考,具体如下:

JavaScript中,去除数组重复项是一个很常用的函数,而且在面试中也很经常被提问到.很多人在面对这个问题的时候,一般都是采用多层for循环来一步一步的比较,然后删除,那样不仅代码量很多,而且性能也很不好.在JavaScript的对象中,有一个特性就是key永远不重复,如果重复后面的就会覆盖前面的.

三个步骤:

1# 把数组转换成js对象
2# 把数组值变成js对象中的key
3# 把对象还原成数组

var toObject = function(arr){
    var obj = new Object(); //私有对象
    var j = arr.length;
    for(var i=0; i < j; +i+){
        obj[arr[i]] = true;
    }
    return obj;
}
var keys = function(obj){
    var arr = [];
    for(var attr in obj){
        if(obj.hasOwnPerpoty(attr)){
            arr.push(attr);
        }
    }
    return arr;
}
var uniq = function(arr){ //去除重复项
    return keys(toObject(newarr));
}

在使用的使用,把数组传递到uniq函数里面即可,这个方法使用了JavaScript对象特性,非常的高效简洁,也是雅虎YUI的底层实现.

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍JavaScript中数组去除重复的三种方法,包括了JavaScript中数组去除重复的三种方法的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,具体方法如下所示: 方法一:返回新数组每个位子类型没变 方法二:类似于法一,但本农觉着法一更易于理解 方法三:比前两个更易于理解但是返回的新数组每个位子的number类型变为string类型了!!关键时刻得处理 以上是小编给大家介绍的

  • 本文向大家介绍php去除二维数组的重复项方法,包括了php去除二维数组的重复项方法的使用技巧和注意事项,需要的朋友参考一下 php中去一维数组的重复项可以通过php内置函数array_unique(),但是php的array_unique函数对多维数组并不适用,怎么才能去除二维数组中的重复项呢? 以下给大家提供一个函数。 希望对大家学习php程序设计有所帮助。

  • 问题内容: 我有一个包含对象数组的对象。 我想知道什么是从数组中删除重复对象的最佳方法。举例来说,事物……东西将变成…… 问题答案: 一种原始方法是:

  • 本文向大家介绍JavaScript基于对象方法实现数组去重及排序操作示例,包括了JavaScript基于对象方法实现数组去重及排序操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript基于对象方法实现数组去重及排序操作。分享给大家供大家参考,具体如下: 使用本站HTML/CSS/JS在线运行测试工具:http://tools.jb51.net/code/HtmlJsR

  • 如何根据属性值从数组中删除所有对象? 在上面的代码中,它只删除一个对象。如何删除所有if匹配项?

  • 我似乎找不到解决这个问题的方法,你如何从基于数组的值的数组中删除项?就像你移除一个一样? 我需要删除一些s: 这将返回一个数组,但感觉有些不对劲。若要删除一个项目,那个就可以了,但通过ID数组从数组中删除项目,我不知道从哪里开始。 在循环中,我试图使用,但un定义在数组中:: 到目前为止,React表示在循环期间无法更新状态。基于,如何使一个项目处于状态?