zoukankan      html  css  js  c++  java
  • 判断传入的两个数组是否相似

    1. 数组中的成员类型相同,顺序可以不同。例如[1, true] 与 [false, 2]是相似的。

    2. 数组的长度一致。

    3. 类型的判断范围,需要区分:String, Boolean, Number, undefined, null, 函数,日期, window.

    当以上全部满足,则返回"判定结果:通过",否则返回"判定结果:不通过"。

    function getType(item) {
    if (item == null) {
    return "null"
    }
    var t = typeof item;
    if (t != "object") {
    return t;
    }
    var s = Object.prototype.toString.apply(item);
    s = s.substring(8, s.length - 1);
    if (s != "object") {
    return s;
    }

    if (item.constructor == Object) {
    return "object";
    }

    //"[object Date]" "[object global]

    }

    function setTypeObj(typeString, type) {
    if (typeString == "String") {
    type.s += 1;
    } else if (typeString == "Boolean") {
    type.b += 1;
    } else if (typeString == "Number") {
    type.num += 1;
    } else if (typeString == "undefined") {
    type.u += 1;
    } else if (typeString == "null") {
    type.n += 1;
    } else if (typeString == "function") {
    type.f += 1;
    } else if (typeString == "global") {
    type.g += 1;
    } else if (typeString == "Date") {
    type.d += 1;
    }
    }
    function arraysSimilar(arr1, arr2) {
    var isTrue = "判定结果:通过";
    var type1 = {s: 0, b: 0, num: 0, u: 0, n: 0, f: 0, d: 0, g: 0},
    type2 = {s: 0, b: 0, num: 0, u: 0, n: 0, f: 0, d: 0, g: 0};
    if (arr1 instanceof Array && arr1 instanceof Array) {
    if (arr1.length == arr2.length) {
    for (var i = 0, l = arr1.length; i < l; i++) {
    setTypeObj(getType(arr1[i]),type1);
    setTypeObj(getType(arr2[i]),type2);
    }
    for(var typeName in type1){
    if(type1[typeName] != type2[typeName]){
    isTrue = "判定结果:不通过";
    }
    }

    } else {
    isTrue = "判定结果:不通过";
    }

    } else {
    isTrue = "判定结果:不通过";
    }
    return isTrue;
    }
  • 相关阅读:
    WEB测试(2)--WEB核心技术之WEB工作过程---URL
    WEB测试(1)---WEB系统架构
    linux随笔1
    .Net 下 百度 富文本框 Ueditor 的 使用
    那些年出现的遇到的 错误 VS (长期)
    C# 基础 学习 之 数据类型转换
    C# 基础 学习 之 数据类型
    C# 基础学习 之 深复制和浅复制
    设计模式 学习 之 原形模式
    设计模式学习 之 单例模式
  • 原文地址:https://www.cnblogs.com/chencai/p/5148252.html
Copyright © 2011-2022 走看看