function diffArrays(arr1, arr2, returnUnion) { var ret = []; var test = {}; var bigArray, smallArray, key; if (arr1.length >= arr2.length) { bigArray = arr1; smallArray = arr2; } else { bigArray = arr2; smallArray = arr1; } for (var i = 0; i < bigArray.length; i++) { key = bigArray[i]; test[key] = true; } if (!returnUnion) { //diffing for (var i = 0; i < smallArray.length; i++) { key = smallArray[i]; if (!test[key]) { test[key] = null; } } } else { //union for (var i = 0; i < smallArray.length; i++) { key = smallArray[i]; if (!test[key]) { test[key] = true; } } } for (var i in test) { ret.push(i); } return ret; } array1 = "test1", "test2", "test3", "test4", "test7" array2 = "test1", "test2", "test3", "test4", "test5", "test6" diffArray = diffArrays(array1, array2); //returns ["test5","test6","test7"] diffArray = diffArrays(array1, array2, true); //returns ["test1", "test2","test3","test4", "test5", "test6","test7"]
2010年3月14日星期日
Javascript - Array difference
以下Function用途是比對兩段Array,找出不同的元素。
訂閱:
發佈留言 (Atom)
沒有留言:
發佈留言