Stavin Li
2017-01-11 06:58
采纳率: 100%
浏览 3.9k

javascript中数组里对象怎么去重

 var arr1 = [{x:513.4261838440111,y:174},
                        {x:270.3404255319149,y:174},
                        {x:513.4261838440111,y:174},
                        {x:520.5167237931058,y:369.80798782499784},
                        {x:520.5167237931058,y:369.80798782499784},
                        {x:241.57929926401988,y:381.9650668601638},
                        {x:270.3404255319149,y:174},
                        {x:241.5792992640199,y:381.9650668601638}
                    ]
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • li_wenbiao 2017-01-11 07:30
    已采纳

    var kv = [];

    $.map(arr1, function (obj) {
    if (obj.x != kv[obj.x] && obj.y != kv[obj.y]) {
    kv[obj.x] = obj.y;
    }
    });

    
    
    点赞 评论
  • li_wenbiao 2017-01-11 06:57

    如果使用jquery的话,可以使用$.map()去解决.

    点赞 评论
  • 听楼一夜雨 2017-01-11 07:07
    点赞 评论
  • Stavin Li 2017-01-11 07:20

    好吧,我写出来了。谢谢大家,虽然没用到你们

     for (var i = 0;i<arr1.length;i++) {
                    for (var j =1;j<arr1.length-1;j++) {
                        if(arr1[i].x == arr1[j].x){
                            arr1.splice(j,1)
                        }
                    }
                }
                console.log(arr1)
    
    点赞 评论
  • 
        var arr1 = [
    { x: 513.4261838440111, y: 174 },
    { x: 270.3404255319149, y: 174 },
    { x: 513.4261838440111, y: 174 },
    { x: 520.5167237931058, y: 369.80798782499784 },
    { x: 520.5167237931058, y: 369.80798782499784 },
    { x: 241.57929926401988, y: 381.9650668601638 },
    { x: 270.3404255319149, y: 174 },
    { x: 241.5792992640199, y: 381.9650668601638 }
        ]
        var kv = {}
        for (var i = 0; i < arr1.length;) {
            if (kv[arr1[i].x + ',' + arr1[i].y]) {
                arr1.splice(i, 1);
            }
            else {
                kv[arr1[i].x + ',' + arr1[i].y] = true;
                i++;
            }
        }
        console.log(arr1)
    
    点赞 评论
  • 梦昼初PurpleShell 2017-01-11 07:22

    循环判断,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

    点赞 评论
  • Q544471255 2017-01-11 08:11

    http://es6.ruanyifeng.com/#docs/set-map

    都写出来了,就提供个新知识给你把。

    点赞 评论
  • ai27 2017-01-12 03:11
      var kv = {};
     var arr = arr1.filter(function(obj) {
        if (!kv[obj.x + ',' + obj.y]) {
            kv[obj.x + ',' + obj.y] = true;
            return obj;
        }
     })
     console.log(arr);
    
    点赞 评论

相关推荐 更多相似问题