需求:有一个数组对象,每次点击表格能拿到操作的本条数据,想根据判断数组中是否有这条数据,来操作是删掉这条数据,还是新增这条数据;
解决:findIndex方法
handleSelect(select,row){
var arr =[
{ id: '1', name: 'a'},
{ id: '2', name: 'b'},
{ id: '3', name: 'c'},
{ id: '4', name: 'd'},
{ id: '5', name: 'e'},
];
var resultIndex= arr.findIndex((item) => {
return item.id == '2'; //用来测试的例子
//return item.id == row.id; //这是我项目里的
});
console.log(resultIndex) //1
//当返回1时(返回存在时的第一个索引),则说明arr中有存在,返回-1的时候没有存在
//判断此数组中是否有这条数据,-1的时候push进去,没有时splice删掉这条
if(resultIndex == '-1'){
arr.push(row)
}else{
arr.splice(resultIndex,1)
}
}