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 = [];
$.map(arr1, function (obj) {
if (obj.x != kv[obj.x] && obj.y != kv[obj.y]) {
kv[obj.x] = obj.y;
}
});
如果使用jquery的话,可以使用$.map()去解决.
http://www.jb51.net/article/46154.htm
好吧,我写出来了。谢谢大家,虽然没用到你们
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)
循环判断,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
http://es6.ruanyifeng.com/#docs/set-map
都写出来了,就提供个新知识给你把。
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);