我最近遇到了一些腌渍,我正在尝试比较这两个数组。
Array1 = ["Red","Green","Blue","Yellow","Black"];
Array2 = ["Green","Violet","Black","White"];
我想知道Array2中的所有值是否都不在数组1中。所以我想出的是:
for(var i:int=0;i<Array2.length;i++)
{
if(Array1.indexOf(Array2[i]) == -1)
{
trace("No String found!")
}
}
现在它每次找不到值时都会给我一个跟踪。我遇到的问题是,只有当Array2中的所有值都不在Array1中时,我才希望它执行跟踪。
有没有人有想法?
答案 0 :(得分:2)
最好的方法是搜索直到找到值,然后退出循环。如果找不到值,它将自然退出并且标志将保持为false。然后检查标志是否为true / false并相应地执行操作。
试试这个:
var found:Boolean = false;
for(var i:int = 0; i < Array2.length && !found; i++)
{
found = Array1.indexOf(Array2[i]) == -1;
}
if (!found)
{
trace("No String found!");
}
答案 1 :(得分:0)
你是说全部还是其他?你可以使用的所有内容(阅读:复杂)这个casalib arrayUtil类:http://as3.casalib.org/docs/org_casalib_util_ArrayUtil.html#containsAll我想知道所有 Array2中的值是否不在数组1中
此函数比较是否存在所有值,其他功能也可能有帮助。