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}
]

 <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>