美文网首页
前端功能代码

前端功能代码

作者: 卡农me | 来源:发表于2017-07-20 18:09 被阅读17次

    1.找到字符串'woainixiaoli'中的每一个'i'出现的位置。

    var arr = 'woainixiaoli';
    var index = -1; //定义变量index控制索引值
    //当查找不到a,即indexOf()的值为-1时,结束循环
    do {
        index = arr.indexOf("i", index + 1); //使用第二个参数index+1,控制每一次查找都是从上一次查找到字符a的下一个索引位置开始
        if(index != -1) { //可以找到字符i
            console.log(index); //输出a的位置
        }
    } while (index != -1);
    

    2.在一个字符串中,如 'zhaochucichuzuiduodezifu',我们要找出出现最多的字符。

    var str = "nininihaoa";
    var o = {};
    for(var i = 0, length = str.length; i < length; i++) {
        var char = str.charAt(i);
        if(o[char]) {
            o[char]++; //次数加1
        } else {
            o[char] = 1; //若第一次出现,次数记为1
        }
    }
    console.log(o); //输出的是完整的对象,记录着每一个字符及其出现的次数
    //遍历对象,找到出现次数最多的字符的次数
    var max = 0;
    for(var key in o) {
        if(max < o[key]) {
            max = o[key]; //max始终储存次数最大的那个
        }
    }
    for(var key in o) {
        if(o[key] == max) {
            //console.log(key);
            console.log("最多的字符是" + key);
            console.log("出现的次数是" + max);
        }
    }
    

    3.数组去重

    Array.prototype.unique1 = function() {
        var n = []; //一个新的临时数组  
        for(var i = 0; i < this.length; i++) //遍历当前数组  
        {
            //如果当前数组的第i已经保存进了临时数组,那么跳过,  
            //否则把当前项push到临时数组里面  
            if(n.indexOf(this[i]) == -1)
                n.push(this[i]);
        }
        return n;
    }
    Array.prototype.unique2 = function() {
        var n = {},
            r = []; //n为hash表,r为临时数组  
        for(var i = 0; i < this.length; i++) //遍历当前数组  
        {
            if(!n[this[i]]) //如果hash表中没有当前项  
            {
                n[this[i]] = true; //存入hash表  
                r.push(this[i]); //把当前数组的当前项push到临时数组里面  
            }
        }
        return r;
    }
    

    4.穷举所有子序列

    var arr = ['a', 'b', 'c', 'd'];
    var list = [''];
    
    for(var i = 0, len = arr.length; i<len ; i++ ){
         list.forEach(x => {
                list.push(x + arr[i]);              
         });     
    }
    
    console.log(list.sort()); // 排序一下,方便查看
    

    5.取到页面中所有的checkbox

    var domList = document.getElementsByTagName(‘input’)
    var checkBoxList = [];
    var len = domList.length;  //缓存到局部变量
    while (len--) {  //使用while的效率会比for循环更高
      if (domList[len].type == ‘checkbox’) {
          checkBoxList.push(domList[len]);
      }
    }
    

    相关文章

      网友评论

          本文标题:前端功能代码

          本文链接:https://www.haomeiwen.com/subject/jusjkxtx.html