Javascript 如何比较数组中的两个数组
我有两个像这个例子一样的数组Javascript 如何比较数组中的两个数组,javascript,jquery,Javascript,Jquery,我有两个像这个例子一样的数组 array1=['3','1','2','5']; array2=['1,2,3,4,5','1,2,3,5,6,7','1,4,5,6,7']; 我尝试以下代码: for (var i = 0; i < array1.length; i++) { for (var j= 0; j< array2.length; j++) { if() -------- } } for(变量i=0;i
array1=['3','1','2','5'];
array2=['1,2,3,4,5','1,2,3,5,6,7','1,4,5,6,7'];
我尝试以下代码:
for (var i = 0; i < array1.length; i++) {
for (var j= 0; j< array2.length; j++) {
if()
--------
}
}
for(变量i=0;i
我想比较array1和array2中的这两个,如果array1的所有元素都在数组中,则第二个将显示与数组比较(array1)匹配的array2元素,并显示true和false。假设您希望结果是array2中包含(至少)array1中所有数字的字符串
var result = array2.map(i => i.split(',')).filter((arr, index) => array1.every(v => arr.includes(v))).map(arr=>arr.join(','));
.map-将数组2的字符串拆分为独立的数字
.filter-将筛选器应用于结果数组
.each-检查数组1中的每个值是否存在于当前数组2项中
.map-用于将“拆分”数组映射回原始字符串
.join-将数组连接回array2中的原始字符串值
如果您使用的是InternetExplorer,您需要传输代码,因为InternetExplorer很旧-下面是传输的结果
var result = array2.map(function (i) {
return i.split(',');
}).filter(function (arr, index) {
return array1.every(function (v) {
return arr.includes(v);
});
}).map(function (arr) {
return arr.join(',');
});
这只留下了这样一种可能性,即在IE中,数组没有each
和includes
方法。IE9+具有每个
,但IE中根本不支持包含
用于阵列的简单狡猾的多边形填充#包括用于互联网爆炸器
Array.prototype.includes = Array.prototype.includes || function(v) {
return !!~(this.indexOf(v));
};
array2
不是数组数组,而是字符串数组..我们不处理紧急情况请帮助代码>这里。我们如何比较???@人造丝我们如何比较这个??比较什么?你没有很好地解释你的问题。。。你的投入是什么(你已经证明了)-你的预期结果是什么-你还没有证明<代码>将显示
-在哪里?在网页上?在控制台里?在广告牌上?在天空中?