这与此问题非常相似:How to check whether multiple values exist within an Javascript array
基本上我需要一个数组并说它是否包含以下2个值,没有特定的顺序
但是
我不能使用像j.query这样的任何外部库,因为它是学校作业。我知道你不想为我做任务我只需要这个小帮助来回答一个更大的问题(我把这一段落的唯一原因是因为我的其他一个问题没有得到答案,因为每个人都说:“这是你的学校工作,你这样做“那很好但很好,但我不知道从哪里开始,所以是的......”
提前感谢。
费恩
答案 0 :(得分:0)
如果您只需要一个功能
var arr = [1,2,3,4]
contains(2,4, arr) // true
function contains(a, b, arr){
return arr.indexOf(a) > -1 && arr.indexOf(b) > -1
}
或者您也可以添加原型
Array.prototype.containsTwo = function(a, b){
return this.indexOf(a) > -1 && this.indexOf(b) > -1
}
[1,2,3].containsTwo(1,3) // true
如果你想检查多个值而不仅仅是两个
Array.prototype.containsLot = function(){
arguments.every(function(v){
return this.indexOf(v) > -1
})
}
[1,22,33,321,41,4].containsLot(1,33,22,4) // true
[1,22,33,321,41,4].containsLot(1,22,33,9) // false