两个数组里面的值作比较,如:String[]arr1=new String[]{"1","5","6","7"};
String[]arr2=new String[]{"1","2","3","4"};
数组arr1和arr2比较,如果arr1里面的值再arr2里面有!这取出arr1不在arr2里面的值。就比如arr1 的1 在arr2 里面有 则就取出 arr1里面剩下的值 5、6、7
String[]arr2=new String[]{"1","2","3","4"};
数组arr1和arr2比较,如果arr1里面的值再arr2里面有!这取出arr1不在arr2里面的值。就比如arr1 的1 在arr2 里面有 则就取出 arr1里面剩下的值 5、6、7
Array.prototype.indexOf=function(o){
for(var i=0;i<this.length;i++){
if(o==this[i])return i;
}
return -1;
}
var arr1=["1","5","6","7"]
var arr2=["1","2","3","4"];
var rtn=[];
for(var i=0;i<arr1.length;i++){
if(arr2.indexOf(arr1[i])==-1)rtn[rtn.length]=arr1[i];
}
alert(rtn);
</script>
if(v>=0){
return this.slice(0,v).concat(this.slice(v+1,this.length));
}
return this;
} var arr1=[1,5,6,7,8,0];
var arr2=[1,5,6,4,1,"8",0];
for(var i=0;i<arr1.length;i++){
for(var j=0;j<arr2.length;j++){
if(arr1[i]===arr2[j]){
arr1=arr1.remove(i);
continue;
}
}
}
alert(arr1.join(",")) //7,8
var a = [1,5,6,7];
var b = [1,2,3,4];
var c = [5,6];Array.prototype.diff = function()
{
var ary = [],hash = {},ret = [];
for(var i=0,j=arguments.length;i<j;i++) ary = ary.concat( arguments[i] );
for(var m=0,n=ary.length;m<n;m++) hash[ ary[m] ] = true;
for(var k=0,l=this.length;k<l;k++) if( !hash[ this[k] ] ) ret[ret.length] = this[k];
return ret;
}
alert( a.diff(b) );//5,6,7
alert( a.diff(b,c) );//7
public class arrCompare {
public static void main(String[] args) {
String[] arr1 = new String[]{"1","5","6","7"};
String[] arr2 = new String[]{"1","2","3","4"};
String[] arro = arrContrast(arr1, arr2);//“arro”就是您想得到的数组
System.out.println("您想要的结果为:");
for (String str : arro) {
System.out.println(str);
}
}
private static String[] arrContrast(String[] arr1, String[] arr2) {
LinkedList<String> list = new LinkedList<String>();
for (String str : arr1) {
if (!list.contains(str)) {
list.add(str);
}
}
for (String str : arr2) {
if (list.contains(str)) {
list.remove(str);
}
}
String[] result = {};
return list.toArray(result);
}
} Test:
D:\>javac arrCompare.javaD:\>java arrCompare
您想要的结果为:
5
6
7
var arr1 = ["1","5","6","7"];
var arr2 = ["1","2","3","4"];
for (var i=arr1.length-1; i>=0; i--)//从后向前循环arr1,以规避剪掉成员长度变化的问题
{
for ( var j=0; j<arr2.length; j++)//arr2就没有顺序问题了
{
if (arr1[i]==arr2[j]) arr1.splice(i,1);//如果找到相同的,减掉
}
}
alert(arr1);//arr1剩下的结果
for (var i=arr.length-1; i>=0; i--)
{
var targetNode = arr[i];
for (var j=0; j<i; j++)
{
if(targetNode == arr[j]){
arr.splice(i,1);
//alert(arr);
break;
}
}
}
alert(arr);
那把最后一句 alert(arr); 删了不就不显示了……
然后您拿这个arr随便怎么处理呗……
我有点没太理解您的意思
TRY ——<script type=text/javascript>
Array.prototype.Remover = function(arr){
var hsh = {},
arr = !!arr?this.concat(arr):this;
for(var i = 0; !!arr[i]; i ++)
hsh[arr[i]] = ""; arr.length = 0;
for(var p in hsh) arr.push(p);
return arr;
}alert(["1","2","3","4",1,"5"].Remover());
alert(["1","2","3","4",1,"5"].Remover(["1","6","7","8",9,"3"]));
</script>