在另一个数组中查找所有来自一个数组的字符串

5

给定一个字符串数组:

const first_array = ['aaa', 'bbb', 'ccc']

还有另一个字符串数组:

const second_array = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']

如果第一个数组中的所有字符串都在第二个数组中出现,则返回true,否则返回false。

5
这个问题的答案是否对您有帮助?检查一个数组是否为另一个数组的子集 - Alexander Vidaurre Arroyo
如果您使用Lodash/Underscore,请也看一下_.difference - hindmost
2个回答

10
你可以使用every()方法来检查每个元素是否都包含在second_array中:
const result = first_array.every(f => second_array.includes(f))

一个例子:

const first_array = ['aaa', 'bbb', 'ccc']
const second_array = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']

const result = first_array.every(f => second_array.includes(f))
console.log(result)


3
哦,我忘记了 every 方法。非常聪明。 - Brandon Dyer
1
@BrandonDyer 谢谢!是的,这是一个非常好的方法!:) - StepUp

1
这应该是一个很好的一行代码来解决问题。
first_array.reduce((ac, e) => ac && second_array.includes(e), true)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接