admin管理员组文章数量:1287920
I need to check if all items in an array can be found within another array. That is, I need to check if one array is a subset of another array.
Example:
var array = [1, 2, 5, 7];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];
Comparing these two arrays above should return true as all items in array
can be found in otherArray
.
var array = [1, 2, 7, 9];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];
Comparing these two arrays above should return false as one of the items in array
cannot be found in otherArray
.
I have tried to use the indexOf
method inside a for loop without success.
I hope someone could help me. :)
I need to check if all items in an array can be found within another array. That is, I need to check if one array is a subset of another array.
Example:
var array = [1, 2, 5, 7];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];
Comparing these two arrays above should return true as all items in array
can be found in otherArray
.
var array = [1, 2, 7, 9];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];
Comparing these two arrays above should return false as one of the items in array
cannot be found in otherArray
.
I have tried to use the indexOf
method inside a for loop without success.
I hope someone could help me. :)
- 1 Do you know ahead of time if the arrays are always sorted? – Explosion Pills Commented May 2, 2016 at 19:06
-
If
otherArray
is large, it would be best to convert it to an object whose keys are the elements. – Barmar Commented May 2, 2016 at 19:38
1 Answer
Reset to default 17Use Array.prototype.every:
The every() method tests whether all elements in the array pass the test implemented by the provided function.
var array = [1, 2, 7, 9];
var otherArray = [1, 2, 3, 4, 5, 6, 7, 8];
var isSubset = array.every(function(val) {
return otherArray.indexOf(val) >= 0;
})
document.body.innerHTML = "Is array a subset of otherArray? " + isSubset;
本文标签: javascriptCheck if all items can be found in another arrayStack Overflow
版权声明:本文标题:javascript - Check if all items can be found in another array - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741329890a2372707.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论