检测数组对象里面某个值是否存在并且删除这个存在对象的, Vue的写法
转自于:https://zhuanlan.zhihu.com/p/141274277
如何使用检测数组对象里面某个值是否存在?
- forEach可以实现
export default {
data(){
return{
arr:[
{name:'小明',age : '18'},
{name:'小王',age : '18'},
],
data:[],
}
},
this.arr.forEach((item,index)=>{
if(item.name == '小明'){ //存在就进来
console.log('存在')
}
})
如何删除数组对象里面指定的对象?
- forEach+indexOf +splice可以实现
- forEach循环这个数组 然后用indexof判断是否存在这个对象,找到会返回它的下标值,之后可以用splice('数组下标',1)进行删除
export default {
data(){
return{
arr:[
{name:'小明',age : '18'},
{name:'小王',age : '18'},
],
data:[],
}
},
methods:{
delete(){
this.data = this.arr[0] //必须要获取相同整个对象,不然判断不准确
this.arr.forEach(item => {
if(item == this.data){
this.arr.splice(this.arr.indexOf(item),1)//this.arr.indexOf(item) 可以找到它的下标
console.log(this.arr)
}
});
}
}
- for in + indexOf+splice 也可以实现
for (var i in this.arr){
let data = this.arr[1]
if(this.arr[i]==data){
this.arr.splice(this.arr.indexOf(this.arr[i]))
console.log(this.arr)
}
}
仅供参考,如果里面有错或者写的不好可以告诉我,我会学习下您的方法 不喜勿喷噢