JavaScript 排序对数器

排序对数器

描述:用原生的方法检验自己写的方法是否正确。先随机产生数组,用自己的方法得出一个答案,再用原生的方法得出一个答案,比较两个答案是否相等。可以调整随机产生的数组的数据量产生更大的数据验证。

export default class  logarithm{
    // 生成随机数组
    getRandomArr(size,maxValue){
        return Array(size).fill(0).map(() => Math.floor(Math.random()*maxValue))
    }

    // 原装方法排序
    comparator(arr){
        arr.sort((a,b)=>a-b)
    }

    // 比较两个数组是否相等
    isEqual(arr1,arr2){
        if (arr1 === null && arr2 === null) {
            return true;
        }

        if (arr1 === null && arr2 !== null || arr1 !== null && arr2 === null) {
            return false;
        }

        for (let i = 0; i < arr1.length; i++) {
            if (arr1[i] !== arr2[i]) {
                return false;
            }
        }

        return true;
    }

    // 拷贝数组
    copyArr(arr){
        return arr.map((item)=>item)
    }

}
import logarithm from "../duishuqi.js";

function compare(){
    const maxValue = 1000;
    const size = 10;
    const logarith = new logarithm;
    const arrSta = logarith.getRandomArr(size,maxValue);
    const arr = logarith.copyArr(arrSta);

    // 自己排序
    chooseSort(arr)
   
    // 对数器排序
    logarith.comparator(arrSta)
   
    if(logarith.isEqual(arr,arrSta)){
        return true;
    }else{
        return false;
    }
}
posted @ 2022-03-18 15:57  kihyun  阅读(27)  评论(0编辑  收藏  举报