有个需求要实现当数组存在某一个元素时移除数组中该元素,当数组不存在该元素时向该数组添加该元素。
我是这样实现的,请问是否有更加优美或者方便的写法?请不吝赐教!
selectTag(row, id) {
if (row.tagId.indexOf(id) > -1) {
row.tagId = row.tagId.filter(n => n !== id)
} else {
row.tagId.push(id)
}
}
有个需求要实现当数组存在某一个元素时移除数组中该元素,当数组不存在该元素时向该数组添加该元素。
我是这样实现的,请问是否有更加优美或者方便的写法?请不吝赐教!
selectTag(row, id) {
if (row.tagId.indexOf(id) > -1) {
row.tagId = row.tagId.filter(n => n !== id)
} else {
row.tagId.push(id)
}
}
selectTag(row, id) {
row.tagId.includes(id) ? row.tagId = row.tagId.filter(n => n !== id) : row.tagId.push(id)
}
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
有没有更好的方法先不说,你的数组删除元素的方式有待商榷,既然已经调用了indexof方法,就应该用splice方法删除元素,你这样相当于又遍历了一遍数组。