Javascript 检查是否可以在其他数组中找到所有项

Javascript 检查是否可以在其他数组中找到所有项,javascript,arrays,Javascript,Arrays,我需要检查一个数组中的所有项是否可以在另一个数组中找到。也就是说,我需要检查一个数组是否是另一个数组的子集 例如: var array = [1, 2, 5, 7]; var otherArray = [1, 2, 3, 4, 5, 6, 7, 8]; 比较上述两个数组应返回true,因为array中的所有项都可以在otherArray中找到 var array = [1, 2, 7, 9]; var otherArray = [1, 2, 3, 4, 5, 6, 7, 8]; 比较上述两个

我需要检查一个数组中的所有项是否可以在另一个数组中找到。也就是说,我需要检查一个数组是否是另一个数组的子集

例如:

var array = [1, 2, 5, 7];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];
比较上述两个数组应返回true,因为
array
中的所有项都可以在
otherArray
中找到

var array = [1, 2, 7, 9];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];
比较上述两个数组应返回false,因为在
otherArray
中找不到
array
中的一个项目

var array = [1, 2, 7, 9];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];
我曾尝试在for循环中使用
indexOf
方法,但没有成功。 我希望有人能帮助我。:)

使用:

every()方法测试数组中的所有元素是否通过了所提供函数实现的测试

var数组=[1,2,7,9];
var otherArray=[1,2,3,4,5,6,7,8];
var isSubset=array.every(函数(val){
返回otherArray.indexOf(val)>=0;
})

document.body.innerHTML=“数组是其他数组的子集吗?”+isSubset
您是否提前知道数组是否总是排序?如果
otherArray
很大,最好将其转换为键为元素的对象。