![](/img/trans.png)
[英]In an array, compare each element with each one and display the differences
[英]Compare each element of one array to another and find which element is not found
我有兩個包含特殊字符的數組,試圖將一個數組的每個元素與另一個數組進行比較,並獲得在另一個數組中找不到的元素。 但是我的方法不能正常工作
var specialChar = ['!','@','#','$','%','&']; var $ scope.inp = ['!','*','#'];
在我上面的示例中,元素'*'不存在specialChar
我嘗試了這種邏輯-
$scope.validateChar = function(specialChar,inp){
var i,j;
for (i=0,j=0; i<specialChar.length && j<inp.length;) {
if (specialChar[i] < inp[j]) {
++i;
} else if (specialChar[i] == inp[j]) {
++i; ++j;
} else {
$scope.notFoundChar = inp[j];
錯誤提示顯示特殊字符$ scope.notFoundChar未找到
$scope.charAllowedText = false;
return;
}
}
}
請在這里提出問題所在?
您可以像下面那樣過濾掉特殊字符“ *”
var result=[]
inp.map(function(inpElement){
if(specialChar.indexOf(inpElement)==-1)
result.push(inpElement)
})
console.log(result)
下面給出的代碼解決了您的問題。
var source = [1,2,3,4,5,6,7,8]; var target =[2,3,4,5,6,18,19]; var missingItems = []; target.forEach(function(itemFromTarget){ var itemFound = false; source.forEach(function(itemFromSrc){ if(itemFromTarget === itemFromSrc){ itemFound = true; } }); if (!itemFound) { missingItems.push(itemFromTarget); } }); console.log(missingItems);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.