Javascript 如何删除基于特定值的数组?
我有两个数组Javascript 如何删除基于特定值的数组?,javascript,Javascript,我有两个数组 var allAuth = [1, 2, 3, 4, 5, 6, 7, 8] let thomasauth = [2, 3, 4, 5, 6, 7, 8] let res = allAuth.filter(f => !thomasauth.includes(f)); 我从allAuth数组返回缺少的匹配值,该值为1 我想从allAuth数组中删除1 我现在有 let filteredArr = allAuth.filter(e => e !== res) 但是这只
var allAuth = [1, 2, 3, 4, 5, 6, 7, 8]
let thomasauth = [2, 3, 4, 5, 6, 7, 8]
let res = allAuth.filter(f => !thomasauth.includes(f));
我从allAuth
数组返回缺少的匹配值,该值为1
我想从allAuth
数组中删除1
我现在有
let filteredArr = allAuth.filter(e => e !== res)
但是这只是给了我allAuth数组,没有任何东西被移除。
我想要的输出应该是
let filteredArr = [2,3,4,5,6,7,8]
有人能帮忙吗?谢谢。更改
!thomasauth.includes(f)
到thomasauth.includes(f)
以便仅过滤包含的项目(在这种情况下,1将被排除在外)
var allAuth=[1,2,3,4,5,6,7,8]
让thomasauth=[2,3,4,5,6,7,8]
设res=allAuth.filter(f=>thomasauth.includes(f));
控制台日志(res)代码>你试过你的代码了吗?您将看到,res
实际上是一个数组,包含要删除的值([1]
),而不是单个标量值
所以我认为你打算这么做:
let filteredArr = allAuth.filter(e => !res.includes(e));
var allAuth=[1,2,3,4,5,6,7,8];
让thomasauth=[2,3,4,5,6,7,8];
让结果=allAuth.filter(val=>thomasauth.indexOf(val)!=-1);
控制台日志(结果)代码>我想从allAuth数组中删除1。我从allAuth数组返回缺少的匹配值,即1。如果你理解了差异,你就会找到答案