JavaScript从对象数组中删除单个条目

JavaScript从对象数组中删除单个条目,javascript,arrays,Javascript,Arrays,我有一个这样的结构: var arr = [ { title: 'anchorman' }, { title: 'happy gilmore' }, { title: 'anchorman' } ] var arr = [ { title: 'anchorman' } ] 现在,我要做什么才能得到这样一个数组: var arr = [

我有一个这样的结构:

var arr = [
    {
        title: 'anchorman'
    },
    {
        title: 'happy gilmore'
    },
    {
        title: 'anchorman'
    }
]
var arr = [
        {
            title: 'anchorman'
        }
]
现在,我要做什么才能得到这样一个数组:

var arr = [
    {
        title: 'anchorman'
    },
    {
        title: 'happy gilmore'
    },
    {
        title: 'anchorman'
    }
]
var arr = [
        {
            title: 'anchorman'
        }
]
因此,它不仅删除唯一的条目,而且只留下一个条目作为重复条目

到目前为止,我有这个,但它不好

var ref;
      for(var i in movies) {
        ref = movies[i].title;
        if(this.titles.indexOf(ref) == -1) {
            movies.splice(i, 1);
        } else {
            this.titles.push(ref);  
        }
      }

其中“movies”是这个问题中的第一个数组,而this.titles只是一个空数组。

以下代码将创建具有所需结果的新数组:

var-arr=[
{
标题:“主持人”
},
{
标题:“快乐吉尔摩”
},
{
标题:“主持人”
}
];
var temp={},newArr=[];
对于(变量k=0;k当其他人发布返回新构建的数组的解决方案时,我认为问题是在迭代的过程中直接编辑数组,这可能导致不必要的结果。如果<代码>电影<代码>是一个数组,则不应该在中使用<代码> -循环复制: