suanfa.js 2.04 KB
// 数组去重
var arr = ['a','b','a','c','e','a','a','e','r','t','y'];
function uniqueSingleArr(arr){
    var strArr = arr.join('');
    var newArr = [];
    while(strArr != ''){    
        var getFirstStr = strArr.substr(0,1);
        newArr.push(getFirstStr);
        eval("strArr = strArr.replace(/"+getFirstStr+"/g, '')");
    }
    return newArr;
}
uniqueSingleArr(arr)   // ["a", "b", "c", "e", "r", "t", "y"]



// 多数组去重--遍历数组
var arr = ['aplle','ball',938,'aplle','call','123','aplle','aij','a','e','aplle','t','y','aij',123,938,'y73'];
function uniqueArr(arr){
    var newArr = [];
    while(arr.length != 0){
        var getFirstArr = arr[0];
        newArr.push(getFirstArr);
        for (var i = 0; i < arr.length; i++) {
            if(arr[i] === getFirstArr) arr.splice(i,1)
        }
    }
    return newArr;
}
uniqueArr(arr); // ["aplle", "ball", 938, "call", "123", "aij", "a", "e", "t", "y", 123, "y73"]

function distinct(arr) {
    var ret = [],
        json = {},
        length = arr.length;

    for(var i = 0; i < length; i++){
        var val = arr[i];
        if(!json[val]){
            json[val] = 1;
            ret.push(val);
        }
    }
    return ret;
}




// 字符串去重
var str = "ydjkhajsdqwasasdasqwqwkxmzasqkiaaled";
function uniqueStr(str) {
    var newStr = '';
    while (str != '') {
        var getFirstStr = str.substr(0, 1);
        newStr += getFirstStr;
        eval("str = str.replace(/" + getFirstStr + "/g, '')");
    }
    return newStr;
}
uniqueStr(str)  // ydjkhasqwxmzile


// 计算字母出现最多的次数
var str = "ydjkhajsdhjfewuieuhfqwehkjsdkafkdslsjd";
function showMax(str) {
    var maxLength = 0;
    var result = '';
    while (str != '') {
        var oldStr = str;
        var firstStr = str.substr(0, 1);
        eval("str = str.replace(/" + firstStr + "/g, '')");
        if (oldStr.length - str.length > maxLength) {
            maxLength = oldStr.length - str.length;
            result = firstStr + "=" + maxLength;
        }
    }
    return result;
}
showMax(str);   // "d=5"