<script type="text/javascript">
/*
* param1 Array
* param2 Array
* return true or false
*/
function ArrayTypr(arr1) {
//走for循环,获得类型数组
var arr3 = new Array(0,0,0,0,0,0,0,0);//String, Boolean, Number, undefined, null, 函数,日期, window.
for(var i = 0;i<arr1.length;i++){
if(typeof arr1[i] == "string") {
arr3[0]++;
continue;
}
if(typeof arr1[i] == "boolean") {
arr3[1]++;
continue;
}
if(typeof arr1[i] == "number") {
arr3[2]++;
continue;
}
if(typeof arr1[i] == "undefined") {
arr3[3]++;
continue;
}
if(Object.prototype.toString.call(arr1[i]) === "[object Null]") {
arr3[4]++;
continue;
}
if(Object.prototype.toString.call(arr1[i]) === "[object Function]") {
arr3[5]++;
continue;
}
if(arr1[i] instanceof Date) {
arr3[6]++;
continue;
}
if(arr1[i] != null && arr1[i] === arr1[i].window) {
arr3[7]++;
continue;
}
}
return arr3;
}
function arraysSimilar(arr1, arr2){
if(!(arr1 instanceof Array)||!(arr2 instanceof Array)){return false;}
if (arr1 != null && arr2 !=null){
if( arr1.length == arr2.length ) {
var arr3 = ArrayTypr(arr1);
var arr4 = ArrayTypr(arr2);
if(arr3.toString() == arr4.toString()){
return true;
}
else {
return false
}
}
else {
return false;
}
}
else{
return false;
}
}
</script>