面试 新闻api Promise Logstash 自动化部署 docker安装 selenium input nosql postman vue代码规范 广告投放系统源码 jquery选择器找子元素 jquery延时 rxjava线程切换 mysql删除表 java编程入门 java泛型 java手册 java的socket通信 魔兽世界字体包 右键菜单背景 相关软件 msdev js绝对值 max电池容量 福昕阅读器绿色版 collect abr文件 js获取子元素 vs2012中文旗舰版下载 4k对齐是什么意思 alert换行 凯立德下载 召唤加点90刷图加点 点状字体 ps错误16 戴尔键盘灯怎么开 聊呗电脑版 ps拼图合图教程
当前位置: 首页 > 学习教程  > 编程语言

js工具,手写ajax,转驼峰,排序,统计字符串中字母个数或统计最多字母数,格式化金钱

2020/9/19 13:32:19 文章标签:

1 手写ajax

    function callajax() {

        var ajax = new XMLHttpRequest();

        ajax.open(null);

        ajax.send();

        ajax.onreadystatechange = function(responseText) {

            if(ajax.status == 4 || ajax.readyState == 200) {

                console.log(responseText)

            }

        }

    }

 

 

2 去重

function unique(arr) {

    var newArr = []

    for(var i=0; i< arr.length;i++) {

        if(newArr.indexOf(arr[i]) < 0){

            newArr.push(arr[i])

        }

    }

    return newArr

}

3 排序

 //选择排序 , 

 function selectionSort(arr){

    for (var i = 0; i < arr.length; i++) {

         for (var j = i+1; j < arr.length; j++) {

             if (arr[i] > arr[j]) {

                 var temp = arr[i];

                 arr[i] = arr[j];

                arr[j] = temp;

            }

         }

     }

     return arr;

 }

 alert(selectionSort(arr))

//冒泡排序

 function bubbleSort(arr){

     for (var i = 0; i < arr.length-1; i++) {

         for (var j = 0; j < arr.length-1-i; j++) {

         //每次比较都会确定一个最小数,所以j < arr.length-1-i21             

            if (arr[j] > arr[j+1]) {

                var temp = arr[j];

                arr[j] = arr[j+1];

                 arr[j+1] = temp;

            }

        }

    }

     return arr;

}

alert(bubbleSort(arr))

// 快速排序46 

function quickSort(arr){

    // 如果数组长度<=1 ,则直接返回48    

     if (arr.length <= 1) return arr;

    //

    var bisectionIndex = Math.floor(arr.length/2);

    // 找基准,把基准从原数组中删除52    

     var bisection = arr.splice(bisection,1)[0];

   

    // 定义作用数组    

        var left = [];

     var right = [];

 

     // 比基准小的放left ,比基准大的放right60     

    for (var i = 0; i < arr.length; i++) {

        if (arr[i] <= bisection) {

            left.push(arr[i]);

       }else{

           right.push(arr[i]);

         }

     }

    //递归68     

    return quickSort(left).concat([bisection],quickSort(right));

 }

alert(quickSort(arr))

4  格式化金钱

Number.prototype.formatMoney = function (places, symbol, thousand, decimal) {

    places = !isNaN(places = Math.abs(places)) ? places : 2;

    symbol = symbol !== undefined ? symbol : "¥";

    thousand = thousand || ",";

    decimal = decimal || ".";

    var number = this,

    negative = number < 0 ? "-" : "",

    i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + "",

    j = (j = i.length) > 3 ? j % 3 : 0;

    return symbol + negative + (j ? i.substr(0, j) + thousand : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : "");

};

var revenue = 12345678;

alert(revenue.formatMoney()); // ¥12,345,678.00

5统计字符串中字母个数或统计最多字母数。

function countCharNum() {

    var str = "aaaabbbccccddfgh";

    var obj = {};

    for(var i=0;i<str.length;i++){

        var v = str.charAt(i);

        if(obj[v] && obj[v].value == v){

            obj[v].count = ++ obj[v].count;

        }else{

            obj[v] = {};

            obj[v].count = 1;

            obj[v].value = v;

        }

     }

    for(key in obj){

        document.write(obj[key].value +'='+obj[key].count+'&nbsp;'); // a=4 b=3 c=4 d=2 f=1 g=1 h=1

    }

}

 

6 转驼峰

function change(str) {

    var arr = str.split('-');

    for (var i = 1; i < arr.length; i++) {

        arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);

    }

    console.log(arr.join(''));

}

change("get-element-by-id");

 


本文链接: http://www.dtmao.cc/news_show_200010.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?