手写函数实现数组的去重、反转、排序

去重:

//数组去重
/**新建一个空数组a,依次写入待去重数组的元素b,每次写入一个元素时,a数组的每个元素比较一遍,看是否有相同的,
如果有则忽略,继续判断下一个元素,如果没有则将此元素写入a,以此类推,直到b的最后一个元素 **/
function arrQuChong(a) {
    let newArr = [];
    for (let i = 0; i < a.length; i++) {
        if (newArr.indexOf(a[i]) == -1)
            newArr.push(a[i]);
    }
    return newArr;
}
arr = [1, 2, 3, 4, 3, 2, 6];
console.log(arrQuChong(arr));   //[1,2,3,4,6]

反转:

//数组的反转--不改变原数组
function arrFanZhuan(a){
    let arr = [];
    for(let i = a.length-1;i>=0;i--){
        arr.push(a[i]);
    }
    return arr;
}

输出数组的最大值:--改变原数组

//输出数组的最大值:--改变原数组
function
arrGetMax(a){ let getArrLength = a.length; let num = undefined; if(getArrLength<2) return a[0]; for(let i=0;i<=getArrLength-2;i++){ if(a[i]>a[i+1]) { num = a[i]; a[i] = a[i+1]; a[i+1] = num; } } return a[getArrLength-1]; }

输出数组最小值:--改变原数组

//获取数组中最小的元素--改变原数组
function arrGetMin(a){
    let getArrLength = a.length;
    let num =  undefined;
    if(getArrLength<2)
    return a[0];
    for(let i=0;i<=getArrLength-2;i++){
        if(a[i]<a[i+1])
        {
            num = a[i];
            a[i] = a[i+1];
            a[i+1] = num;
        }
    }
    return a[getArrLength-1];
}

数组升序:

//数组升序--改变原数组--冒泡排序:把相邻元素中最大的那个排到前面去,关注点放在最大的元素上,而不固定在某个元素上
function arrSortUp(a){
    let getArrLength = a.length;
    let num = undefined;
    let num1 =getArrLength-2;
    // if(getArrLength<2)   //下面的判读就包含了这一步,所以可以省略
    // return a;             
    for(let i=0;i<=getArrLength-2;i++){
        for(let j=0;j<=num1;j++){
            if(a[j]>a[j+1]){
                num = a[j];
                a[j] = a[j+1];
                a[j+1] = num;
            }
        }
        num1--;
    }
    return a;
}

数组降序排列:

function arrSortDown(a){
    let getArrLength = a.length;
    let num = undefined;
    let num1 =getArrLength-2;
    // if(getArrLength<2)   //下面的判读就包含了这一步,所以可以省略
    // return a;             
    for(let i=0;i<=getArrLength-2;i++){
        for(let j=0;j<=num1;j++){
            if(a[j]<a[j+1]){
                num = a[j];
                a[j] = a[j+1];
                a[j+1] = num;
            }
        }
        num1--;
    }
    return a;
}

 

posted @ 2022-05-09 23:13  大哥成  阅读(128)  评论(0编辑  收藏  举报