<script type="text/javascript">
/*
* param1 Array
* param2 Array
* return true or false
* 数组中的成员类型相同,顺序可以不同。例如[1, true] 与 [false, 2]是相似的。这里可以运用sort()进行排序
* 数组的长度一致,这里只要arr1.length=arr2.length
* 类型的判断范围,需要区分:String, Boolean, Number, undefined, null, 函数,日期, window.
* 这里意在针对每一个值都要精确到以上分类
*/
function arraysSimilar(arr1, arr2)
{
answer = true;
//先判断是否是数组,因为大数组的最后三个并不是数组,而是单独的元素
if (arr1 instanceof Array === true && arr2 instanceof Array === true)
{
if (arr1.length == arr2.length) //先确定数组长度一致
{
var arrType1 = [],arrType2 = [];
for (var i = 0, len = arr1.length; i < len; ++i)
{
arrType1[i] = Object.prototype.toString.apply(arr1[i]);
arrType2[i] = Object.prototype.toString.apply(arr2[i]);
}
arrType1.sort(), arrType2.sort(); //对数组进行无差别排序
if (arrType1.toString() != arrType2.toString())
{
answer = false;
}}
else {answer = false}
}
else
{answer = false; //因为看了js里面后三个都是false所以偷了个懒}
return answer;
}
</script>