zoukankan      html  css  js  c++  java
  • 精致的JavaScript代码

    1. 统计一个数组中,每个值的个数

    var cards = [1, 2, 3, 4, 3, 2, 1, 4, 5]
    var dict = {};
    
    for(var i = 0; i < cards.length; i ++){
        dict[cards[i]] = dict[cards[i]] ? dict[cards[i]] + 1 : 1;
    } 
    
    
    console.log(dict);

    // { '1': 2, '2': 2, '3': 2, '4': 2, '5': 1 }

    2. 比较两个对象的内容是否相同
    var compareOBJ = function (obj1, obj2) {
        var o1 = obj1 instanceof Object;
        var o2 = obj2 instanceof Object;
    
        if(!o1 || !o2)
            return obj1 === obj2;
    
        if(Object.keys(obj1).length !== Object.keys(obj2).length)
            return false;
    
        for(var attr in obj1) {
            var to1 = obj1[attr] instanceof Object;
            var to2 = obj2[attr] instanceof Object;
    
            if(to1 && to2) {
                compareOBJ(obj1[attr], obj2[attr]);
            }else if(obj1[attr] !== obj2[attr]) {
                return false;
            }
        }
        return true;
    };
    
    
    
    2. 判断手牌数组是否同花
    majiang.isSameColor = function (cardArr) {
        var dict = {};
        for(var i = 0; i < cardArr.length; i ++) {
            var cd = cardArr[i];
            var ten = Math.floor(cd / 10);
            dict[ten] = dict[ten] ? dict[ten] + 1 : 1;
        }
    
        // console.log(JSON.stringify(dict));
        // console.log(Object.keys(dict).length);
    
        return Object.keys(dict).length === 1;
    };
     
  • 相关阅读:
    一个java的进销存管理系统源码阅读
    嵌入式起步
    java数据库操作有关的杂记
    VS 调试
    软件测试的原则
    黑盒测试与白盒测试
    Xmind快速入门(基本操作够用了)
    opt目录
    日志测试
    bug的前世今生
  • 原文地址:https://www.cnblogs.com/mikeCao/p/10877331.html
Copyright © 2011-2022 走看看