今儿遇到个bug,有个地方会重复添加已有的东西。因此去学习了filter的使用方法,记录一下。
<script>
export default{
name:'demo',
data(){
return{
demoList:[
{
id:1,
name:'demo'
}
]
}
},
methods:{
//对象数组中要判断多个字段同时重复
getData(list){
//先是从其他地方获取数据
list.forEach((el) => {
this.demoList.push({
id:el.id,
name:el.name
});
});
//x指的是当前对象,index表示当前元素下标
let arr = this.demoList.filter((x, index) => {
let arrids = []
let arrnames = []
this.questions.forEach(item => {
arrids.push(item.id)
arrnames.push(item.name)
})
let judgeOne = arrids.indexOf(x.id) === index
let judgeTwo = arrnames.indexOf(x.name) === index
return judgeOne || judgeTwo
})
this.demoList= arr;
}
}
}
</script>