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;
}
}