js数组对象去重问题
存入数组对象时判断一下是否存在,我这样写为什么不行,我哪里写错了,能指点一下吗,谢谢
ADD_ROUTE: (state, action) => {
console.log(state.localSelectArr);
if (state.localSelectArr.indexOf(action) == -1) {
state.localSelectArr.push(action);
} else {
console.log('已存在');
return;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
action是什么类型的数据
indexOf只能检测基础类型的,如果数组中有存储object或者function等,使用indexOf检测时,两者是不相等的
当然不行啊 一个对象不会等于另一个对象的,除非它是另一个对象的浅拷贝,否则即使你的对象内容一样,它的指针也不会一样,因此它两永远不会相等的
本来想插入时判断,是否存在,现在退而求其次,插入后去重
这样写试试: