【发布时间】:2021-09-21 21:57:34
【问题描述】:
我想创建一个函数来检查 2 个数组是否是子集,如果是则返回 true,否则返回 false
例如,如果: x = ["鲍勃","ADA","肯"] y = [“肯”,“鲍勃”] 返回真
x = ["BOB","ADA","KEN"] y = [“肯”,“鲍勃”,“丹”] 返回错误
关于如何创建这个函数有什么建议吗?
【问题讨论】:
标签: javascript arrays
我想创建一个函数来检查 2 个数组是否是子集,如果是则返回 true,否则返回 false
例如,如果: x = ["鲍勃","ADA","肯"] y = [“肯”,“鲍勃”] 返回真
x = ["BOB","ADA","KEN"] y = [“肯”,“鲍勃”,“丹”] 返回错误
关于如何创建这个函数有什么建议吗?
【问题讨论】:
标签: javascript arrays
您可以通过第一个过滤第二个数组,看看之后是否还有任何剩余。如果是这样,它们就不会重叠。
const hasOverlap = (arr1, arr2) => arr2.filter(a => !arr1.includes(a)).length === 0
let x = ["BOB","ADA","KEN"], y = ["KEN", "BOB" ]
console.log(hasOverlap(x,y))
x = ["BOB","ADA","KEN"]
y = ["KEN", "BOB", "JOE"]
console.log(hasOverlap(x,y))
【讨论】: