zoukankan      html  css  js  c++  java
  • 亲写javascript 各类面试题

    DOM修改:

    1、全文单词首字母大写---2013 腾讯

            var toCapitalize = function (str){
                var aStr1 = str.split(" ");
                var aStr2 = [];
                
                for (var i=0; i<aStr1.length; i++){
                    var capitalizeEle = aStr1[i].charAt(0).toUpperCase() + aStr1[i].slice(1);
                    aStr2.push(capitalizeEle);
                }
                return aStr2.join(" ");
            }
        
        var str1 = "Your organization has made significant technology investments pport solutions can help you opportunities.";
        alert(toCapitalize(str1))

    其实,如果数据不用于后台运算,只是表现上的首字符大写的话,这样就可以了:

    #foo{text-transform:capitalize}

    算法题:

    1、两个字符串A、B ,假设字符串A 长度为m,假设字符串B,长度为n,找出在A中包含的B的所有字符。----2013 腾讯

    var aCommonChar = function (a,b){
        var result = [],hashTable = {};
    //1 历遍第一个参数字符串,删除掉重复的字符,放入结果hash表中。
    for (var i = 0; i < a.length; i++){ var name1 = a.charAt(i); if (!hashTable[name1]){ hashTable[name1] = 0; } }

    //2 历遍第二个参数字符串,如果第二个字符串中有和上面hash中的键名相同的字符,则修改键值为1。
    for (var j=0; j<b.length; j++){ var name2 = b.charAt(j); if (hashTable[name2] === 0){ hashTable[name2] = 1; } } //3 历遍hashTable,把键值为1的键名push进结果数组 for (key in hashTable){ if (hashTable.hasOwnProperty(key) && hashTable[key] === 1){ result.push(key); } } return result; } //test var A = " The Hebrew word for “wonder” means, “a cause of astonishment.” God’s dealings with the Psalmist David had been such that people noticed "; var B = "The disciples were seen as a wonder unto many for basically they were unlearned and ignorant men - Act 4:13. Yet the Apostles felt they were being made a spectacle to the world, 1Co 4:9. "; alert(aCommonChar(A,B))

     2 写一个RGB色彩值转化为16进制色彩值的函数,例如RGB(0,255,0)→#00ff00

        var sRGBToHex  = function (str){
            if (str.search(/rgb/i) === -1){//兼容ie6-8,它们的颜色值本身就是16进制的
                return str;
            }
            var result = "#";
            str = str.replace(/rgba?((.*))/gi,"$1");
            aStr = str.split(",");
            for (var i=0; i<3; i++){//这里直接写了3,是因为标准浏览器的色彩值可能包含透明度信息,例如RGBA(0,255,30,0.5)
                var iColorAlpha = +aStr[i]; 
                if (iColorAlpha < 16){
                    result += "0" + iColorAlpha.toString(16);
                }else{
                result += iColorAlpha.toString(16);
                }        
            }
            return result;
        }
  • 相关阅读:
    ROS+clion多节点调试
    argparse模块用法实例详解
    Python3中的bytes和str类型
    elk日志过滤文档
    centos7普通用户无法切换为root用户处理
    Hyper-V迁移方案
    中小互联网电商(电商)公司研发部门组织架构
    基于Redis实现令牌桶限流
    异步与协程
    C# 同步上下文及死锁
  • 原文地址:https://www.cnblogs.com/ginowang42/p/interview.html
Copyright © 2011-2022 走看看