2 wwdd12391 wwdd12391 于 2016.03.24 20:03 提问

js 怎样去除数组重复项

var arr=[
{a:3,b:4,c:5},
{a:4,b:5,c:6},
{a:3,b:4,c:5},
{a:2,b:4,c:5}
]
将数组的重复项去掉:
var arr=[
{a:3,b:4,c:5},
{a:4,b:5,c:6},
{a:2,b:4,c:5}
]

1个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.03.24 20:51
已采纳
 <script>
function equals( x, y ) {
        for ( var p in x ) {
            if ( x.hasOwnProperty( p ) ) {
                if ( ! y.hasOwnProperty( p ) ) {
                    return false;
                }
                if ( x[ p ] !== y[ p ] ) {
                    return false;
                }
            }
        } 
        for ( p in y ) {
            if ( y.hasOwnProperty( p ) && ! x.hasOwnProperty( p ) ) {
                return false;
            }
        }
        return true;
    };

var arr=[
{a:3,b:4,c:5},
{a:4,b:5,c:6},
{a:3,b:4,c:5},
{a:2,b:4,c:5}
]
for(var i=arr.length-1;i>=0;i--){
   var obj1 = arr[i];
   for(var j=i-1;j>=0;j--){
      var obj2 = arr[j];
      if(equals(obj1,obj2)){
         arr.splice(i,1);
         break;
      }
   }
}
</script>
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JS Jquery去除数组重复元素
js jquery去除数组中的重复元素 第一种:$.unique() 第二种: for(var i = 0,len = totalArray_line.length;i {  !RegExp(totalArray_line[i],"g").test(resultArray_line.join(",")) && (resultArray_line.push(totalArray_line
高效率去掉js数组中重复项的方法
Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法。这是一个高效率去除重复的方法:function hovercUnique(arr) {var result = [], hash = {};for (var i = 0, elem; (elem = arr[i]) != null; i++) {if (!hash[elem]) {result.push(elem);...
js消除数组中重复的数据
function unique(arr) { var result = [], hash = {}; for (var i = 0, elem; (elem = arr[i]) != null; i++) { if (!hash[elem]) { result.push(elem); hash[elem] = true
js去除数组重复项,删除重复数据的方法
var arr = [3,3,1,6,7,4,4,1]; var o = {}; for(var i = 0; i < arr.length; i++) { o[arr[i]] = arr[i]; } arr = []; for (var el in o) { if (el == o[el]) arr.pu
js 数组去重复项的五种方法比较
第一种:耗时最长,用了双重循环 Array.prototype.unique1 = function () { var r = new Array(); label:for(var i = 0, n = this.length; i < n; i++) { for(var x = 0, y = r.length; x < y; x++) {
js数组去除重复数据
废话不多说,几行代码如下: $(function(){ // var arr = [1, 2, 3, 4, 5, 6, 1, 6, 7, 2]; var arr = ["供应商1", "供应商1", "供应商22","供应商22", "供应商33", "供应商33", "供应商", "供应商", "供应商", "供应商"]; var newArr = []; for(var i
分享2个功能的js代码(去掉数组里重复的项、数组或对象深拷贝)
功能1:如何去掉数组里重复的项? 测试  http://blog.csdn.net/lfcss/article/details/50261337  的代码如下: var arr = [2,1,2,10,2,3,5,5,1,10,13]; //object var arrObj = { //把数组转成对象 toObject: function(arr) {
JS-数组去除重复数据算法
在JS中经常会遇到去除数组中重复数据的需求,在此介绍四种算法以实现JS数组去重的功能.1.速度最快算法:对象键值对法实现思路:新建一js对象以及新数组,遍历传入数组时,判断值是否为js对象的键,不是的话给对象新增该键并放入新数组。//注意点: 判断 是否为js对象键时,会自动对传入的键执行“toString()”,不同的键可能会被误认为一样;例如: a[1]、a["1"] 。解决上述问题还是得调用“
去掉数组中重复的值
function a_array_unique($array){         $out = array();         foreach ($array as $key=>$value) {             if (!in_array($value, $out)){                 $out[$key] = $value;             }  
用js去除重复元素的两种方法总结
第一种: function unique(arr){ // 遍历arr,把元素分别放入tmp数组(不存在才放) var tmp = new Array(); for(var i in arr){ //该元素在tmp内部不存在才允许追加 if(tmp.indexOf(