Javascript 如何比较两个数组并警告结果?

Javascript 如何比较两个数组并警告结果?,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有两个简单的数组: var arr_must_exist = ["1","2","3"]; var arr_created = ["2","4","7","8"]; //This is varies depend of the array created. 因此,如果创建的arr_与示例类似,则应出现类似的警报,您的选择必须包含1和3 例如: arr_created = ["2","4","7","8"]; alert(`Your choice must contain 1 an

我有两个简单的数组:

var arr_must_exist = ["1","2","3"];
var arr_created    = ["2","4","7","8"]; //This is varies depend of the array created.
因此,如果创建的
arr_
与示例类似,则应出现类似
的警报,您的选择必须包含1和3

例如:

arr_created    = ["2","4","7","8"];
alert(`Your choice must contain 1 and 3`)

arr_created    = ["2","3","7","8"];
alert(`Your choice must contain 1`)

arr_created    = ["4","5","7","8"];
alert(`Your choice must contain 1, 2 and 3`)

arr_created    = ["1","2","9","3"];
alert(`Your choice is valid`)
我使用
$。每个
,但它只是检查数组。没有比较

$.each(arr_is_must_exist , function(index, val_must_exist) { 

        $.each(arr_is_exist_in_table , function(index, val_is_exist) { 
            if(val_must_exist != val_is_exist){
              alert("Your choice must contain 1,2,3");
            }
        });
});

我看了看,但没有被接受的答案。我使用IE和mozilla(供本地用户使用)

您可以找到缺失项的数组,如下所示:

var arr_必须存在=[“1”、“2”、“3”];
var arr_created=[“2”、“4”、“7”、“8”];
var missing=arr\u必须存在。筛选器(e=>arr\u已创建。indexOf(e)<0);

控制台日志(丢失)您可以找到缺失项的数组,如下所示:

var arr_必须存在=[“1”、“2”、“3”];
var arr_created=[“2”、“4”、“7”、“8”];
var missing=arr\u必须存在。筛选器(e=>arr\u已创建。indexOf(e)<0);

控制台日志(丢失)可以使用forEach和join数组方法在javascript中完成

var arr_必须存在=[“1”、“2”、“3”];
var arr_created=[“2”、“4”、“7”、“8”];
//用于存储未在arr_中创建的元素的数组
var MissingeElements=[];
//必须存在arr_上的循环,并检查是否存在
//元素存在于使用indexOf创建的arr_中
arr_必须存在。forEach(功能(项目){
如果(arr_created.indexOf(item)=-1){
//如果不是,则在数组中推送元素
缺失元素推送(项目)
}
})
//如果缺失元素长度大于1,则表示其包含
//任何元素然后连接所有元素,用逗号创建字符串
//分离器
如果(missingElements.length>0){
警报(missinelements.join(','))

}
可以在javascript中使用forEach和join数组方法完成

var arr_必须存在=[“1”、“2”、“3”];
var arr_created=[“2”、“4”、“7”、“8”];
//用于存储未在arr_中创建的元素的数组
var MissingeElements=[];
//必须存在arr_上的循环,并检查是否存在
//元素存在于使用indexOf创建的arr_中
arr_必须存在。forEach(功能(项目){
如果(arr_created.indexOf(item)=-1){
//如果不是,则在数组中推送元素
缺失元素推送(项目)
}
})
//如果缺失元素长度大于1,则表示其包含
//任何元素然后连接所有元素,用逗号创建字符串
//分离器
如果(missingElements.length>0){
警报(missinelements.join(','))

}
您可以通过简单的javascript和日志消息来完成

var arr_must_exist = ["1","2","3"];
var arr_created    = ["2","4","7","8"]; 
//This is varies depend of the array created.

var numberNotAvailable = [];

for(var i = 0; i<arr_must_exist.length; i++){
  console.log(arr_created.indexOf(arr_must_exist[i]));
  if(arr_created.indexOf(arr_must_exist[i]) < 0){
        console.log(arr_must_exist[i] + ' added');    
        numberNotAvailable.push(arr_must_exist[i])
  }  
}

var logMessage ;
if(numberNotAvailable.length == 0){
  logMessage = 'Your choice is valid';
}
else if(numberNotAvailable.length == 1){
  logMessage = 'Your choice must contain ' + numberNotAvailable[0];  
}
else if(numberNotAvailable.length == 2){
  logMessage = 'Your choice must contain ' + numberNotAvailable[0] + ' and ' + numberNotAvailable[1];  
}
else if(numberNotAvailable.length > 2){  
  logMessage = 'Your choice must contain ' + fruits.join();  
}

console.log(logMessage);
var arr_必须存在=[“1”、“2”、“3”];
var arr_created=[“2”、“4”、“7”、“8”];
//这取决于所创建的阵列。
var numberNotAvailable=[];
对于(VARI=0;I2){
logMessage='您的选择必须包含'+fruits.join();
}
console.log(logMessage);

您可以通过简单的javascript和日志消息来完成

var arr_must_exist = ["1","2","3"];
var arr_created    = ["2","4","7","8"]; 
//This is varies depend of the array created.

var numberNotAvailable = [];

for(var i = 0; i<arr_must_exist.length; i++){
  console.log(arr_created.indexOf(arr_must_exist[i]));
  if(arr_created.indexOf(arr_must_exist[i]) < 0){
        console.log(arr_must_exist[i] + ' added');    
        numberNotAvailable.push(arr_must_exist[i])
  }  
}

var logMessage ;
if(numberNotAvailable.length == 0){
  logMessage = 'Your choice is valid';
}
else if(numberNotAvailable.length == 1){
  logMessage = 'Your choice must contain ' + numberNotAvailable[0];  
}
else if(numberNotAvailable.length == 2){
  logMessage = 'Your choice must contain ' + numberNotAvailable[0] + ' and ' + numberNotAvailable[1];  
}
else if(numberNotAvailable.length > 2){  
  logMessage = 'Your choice must contain ' + fruits.join();  
}

console.log(logMessage);
var arr_必须存在=[“1”、“2”、“3”];
var arr_created=[“2”、“4”、“7”、“8”];
//这取决于所创建的阵列。
var numberNotAvailable=[];
对于(VARI=0;I2){
logMessage='您的选择必须包含'+fruits.join();
}
console.log(logMessage);

您必须编写一个函数来进行比较并将差异存储在数组中

var arr_must_exist = ["1","2","3"];
var arr_created    = ["2","4","7","8"];
var diff = [];
arr_must_exist.forEach(function(value){
   if(arr_created.indexOf(value) < 0) {
     diff.push(value);
    } 
});
var str = '';
if(diff.length) {
    var str = 'Your choice must contain ';
    diff.forEach(function(value, index) {
        str += ((index+1 == diff.length) ? ' and ' + value : value)
    });
} else {
    str = 'Your choice is valid';
}
alert(str);
var arr_必须存在=[“1”、“2”、“3”];
var arr_created=[“2”、“4”、“7”、“8”];
var-diff=[];
arr\u必须存在。forEach(函数(值){
if(arr_created.indexOf(value)<0){
压差(值);
} 
});
var-str='';
if(不同长度){
var str='您的选择必须包含';
差分forEach(函数(值、索引){
str+=((索引+1==diff.length)?'和'+value:value)
});
}否则{
str='您的选择有效';
}
警报(str);

您必须编写一个函数来进行比较并将差异存储在数组中

var arr_must_exist = ["1","2","3"];
var arr_created    = ["2","4","7","8"];
var diff = [];
arr_must_exist.forEach(function(value){
   if(arr_created.indexOf(value) < 0) {
     diff.push(value);
    } 
});
var str = '';
if(diff.length) {
    var str = 'Your choice must contain ';
    diff.forEach(function(value, index) {
        str += ((index+1 == diff.length) ? ' and ' + value : value)
    });
} else {
    str = 'Your choice is valid';
}
alert(str);
var arr_必须存在=[“1”、“2”、“3”];
var arr_created=[“2”、“4”、“7”、“8”];
var-diff=[];
arr\u必须存在。forEach(函数(值){
if(arr_created.indexOf(value)<0){
压差(值);
} 
});
var-str='';
if(不同长度){
var str='您的选择必须包含';
差分forEach(函数(值、索引){
str+=((索引+1==diff.length)?'和'+value:value)
});
}否则{
str='您的选择有效';
}
警报(str);

这使用
集合
检查
arr\u must\u exist
中是否存在每个项目

它还使用正则表达式来获取
和“
”、“
右侧,并使用模板文本将消息放在一起

const arr_必须存在=[“1”、“2”、“3”];
函数getMsg(arr\u已创建){
常量集=新集(已创建);
常量m=arr\u必须存在。筛选器=>!set.has(s))
.join(“,”)
。取代(/、([^、]+)$/、“及$1”);
return`Your choice${m?”必须包含“+m:”有效“}”;
}
log(getMsg([“2”、“4”、“7”、“8”);
log(getMsg([“2”、“3”、“7”、“8”);
log(getMsg([“4”、“5”、“7”、“8”);

log(getMsg([“1”、“2”、“9”、“3”)这使用一个
集合
来检查
arr\u must\u exist
中是否存在每个项目

它还使用正则表达式来获取
和“
”、“
右侧,并使用模板文本将消息放在一起

const arr_必须存在=[“1”、“2”、“3”];
函数getMsg(arr\u已创建){
常量集=新集(已创建);
常量m=arr\u必须存在。筛选器=>!set.has(s))
.join(“,”)
。取代(/、([^、]+)$/、“及$1”);
return`Your choice${m?”必须包含“+m:”有效“}”;
}
log(getMsg([“2”、“4”、“7”、“8”);
log(getMsg([“2”、“3”、“7”、“8”);
log(getMsg([“4”、“5”、“7”、“8”);

log(getMsg([“1”、“2”、“9”、“3”)有多种方法可以做到这一点,您可以使用有限数量的练习集。 像

  • 通过$.map()函数
  • 按$.filter()函数
  • 按数组与多个for循环进行比较
  • 代码示例:

    
    var arr_必须存在=[“1”、“2”、“3”];
    var arr_created=[“2”、“4”和