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

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");

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值