js算法整理

算法!嗯,好像问的不多哎~
不过还是整理了一下下;

<script>
//获取1-10000所有的素数
function getSus(start,end) {
    var result=[];
    for(var i=start;i<end;i++){
        var flag=true;
        if(i==1){flag=false}
        for(var k=2;k<i;k++){
            if(i%k==0){
                flag=false;
                break;
            }
        }
        if(flag){
            result.push(i)
        }
    }

    return result;
}
console.log(JSON.stringify(getSus(1,100)));

//去重复
var a2=[12,1,1,3,4,4,5,5,6,5];
function sortOne(a2) {
    var newCount={},
        newArr=[];
    for(var i=0;i<a2.length;i++){
        if(newCount[a2[i]]!==a2[i]){
            newCount[a2[i]]=a2[i];
            newArr.push(a2[i])
        }
    }
    return newArr;
}
console.log(JSON.stringify(sortOne(a2)));
//ES6的写法 [...new Set([12,1,1,3,4,4,5,5,6,5])]
//冒泡排序
function sortM(arr) {
    for(var i=0;i<arr.length;i++){
        for(var j=i+1;j<arr.length;j++){
            if(arr[i]>arr[j]){
                var empty=arr[i];
                arr[i]=arr[j];
                arr[j]=empty;
            }
        }
    }
    return arr;
}
console.log(JSON.stringify(sortM(a2)));

var i=1;
//递归实现排序
function sortX(ar) {
    var min=ar[0],
        index=0;
    if(ar.length==1){
        return ar;
    }
    for(var i=0;i<ar.length;i++){
        if(min>ar[i]){
            min=ar[i];
            index=i;
        }
    }
    var pre=ar.splice(index,1);
    return pre.concat(sortX(ar))
}
console.log(JSON.stringify(sortX(a2)));
console.log(i+"测试i");

//二分法
var a22=[1,2,3,4,5,6,7,8,9,10,11,12,13,14];
function searchByTwo(arr,roleCount) {
       var low=0,
           height=a22.length-1;
    while(low<=height){
        var mid=parseInt((low+height)/2);
        if(arr[mid]==roleCount){
            return mid;
        }else if(arr[mid]<roleCount){
            low=mid+1;
        }else if(arr[mid]>roleCount){
            height=mid-1;
        }else{
            return -1;
//          没有查到结果;
        }
    }
}
console.log(searchByTwo(a22,11));
</script>

结:以后遇到再添加哈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容