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

去重:

复制代码
//数组去重
/**新建一个空数组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 @   大哥成  阅读(142)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2019-05-09 bootstrap轮播图carousel插件
点击右上角即可分享
微信分享提示