使用javascript或typescript检查数组中是否包含每个值

使用javascript或typescript检查数组中是否包含每个值,javascript,typescript,vue.js,Javascript,Typescript,Vue.js,我有以下类型的2个阵列。我想检查值to的每个值,因为checkar应该在实际值中。如果实际值r中缺少某些值,则应返回0或false。此外,我还有一个运算符变量,它的可能值和/或。我为或操作符编写了解决方案,但对AND操作符没有概念 ActualArr = [1,2,3,4,5,6,7,21,25,35,50,132]; ValuesToBeCheckArr = [2,3,50,132]; Operator = AND/OR if(Operator == AND) { //check ev

我有以下类型的2个阵列。我想检查
值to的每个值,因为checkar
应该在实际值中。如果
实际值r
中缺少某些值,则应返回0或false。此外,我还有一个运算符变量,它的可能值
和/或
。我为
操作符编写了解决方案,但对AND操作符没有概念

ActualArr = [1,2,3,4,5,6,7,21,25,35,50,132];
ValuesToBeCheckArr = [2,3,50,132];
Operator = AND/OR

if(Operator == AND) {
   //check every value of ValuesToBeCheckArr should be in the ActualArr
} else if(Operator == OR) {
   //check at least one value of ValuesToBeCheckArr should be in the ActualArr
   const checkIncluded = (arr1, arr2) => arr1.some(item => arr2.includes(item));
   const isIncluded1 = checkIncluded(["1", "2"], ["3"]) // true
}

您必须将
.some
更改为
.every
。它将检查数组中的每个项是否满足以下条件:

ActualArr = [1,2,3,4,5,6,7,21,25,35,50,132];
ValuesToBeCheckArr = [2,3,50,132];
Operator = AND/OR

if(Operator == AND) {
   //check every value of ValuesToBeCheckArr should be in the ActualArr
   const checkIncluded = (arr1, arr2) => arr1.every(item => arr2.includes(item));
   const isIncluded1 = checkIncluded(ValuesToBeCheckArr, ActualArr)
} else if(Operator == OR) {
   //check at least one value of ValuesToBeCheckArr should be in the ActualArr
   const checkIncluded = (arr1, arr2) => arr1.some(item => arr2.includes(item));
   const isIncluded1 = checkIncluded(["1", "2"], ["3"]) // true
}
运算符==和

==>使用与下面类似的组合

const actualar=[1,2,3,4,5,6,7,21,25,35,50132];
常量值stobecheckar=[2,3,50132];
const result=ValuesToBeCheckArr.every(v=>actualar.some(a=>v==a))

控制台日志(结果)以下实现将起作用:-

功能检查包含(执行器、检查器、操作员){
让i包括=运算符==“和”?
实际值(项目=>checkArr.includes(项目)):
实际部分(项目=>checkArr.includes(项目))
包括退货;
}
日志(检查包含([“1”、“2”、“3”]、[“1”、“3”]、“和”);
日志(检查包含([“1”、“2”、“3”]、[“1”、“3”]、“或”)