最基础的代码设计模式-健壮可靠宽容

题注参与过多次活动,每次主题都会有设计模式,其实说来说去都是那几个常用的。

然而,实际上这些设计模式已经内嵌在框架里面,用好框架的服务足够了。往往,最基础的设计模式容易被忽略。

今天看到一篇好文,下面是题主一早写的代码,应该还算符合题目的要求,欢迎吐槽

function getRadom(start, end, radomArray) {
let getCurrent = function () {
    return Math.random(0, 1) * (end - start) + start;
};
let current = getCurrent();
while (radomArray.includes(current)) {
    current = getCurrent();
}
return current;
}
function curry(n, start, end) {
// n参数健壮校验
//必须要输入n
if(!n){return 'need input number'}
//n必须是数字,或者字符串数字
if(!(typeof n ==Number || Math.abs(Number(n)))){return 'need input number'}
//start 和end之间
if(n<start||n>=end){return 'need input number between start & end'}
//必须输入小于这段长度的数字
if(n>(end-start)){return 'need input n.length < end-start'}

if(n%1!=0){ n=Math.floor(n)}

let radomArray = [];
for (let i = 0; i < n; i++) {
    //给一个值,去取随机数
    let radom = getRadom(start, end,radomArray);

    radomArray.push(radom);
    //校验随机数,
}

//返回值校验


return radomArray;
}
//输入一个数字,返回数组 必须在2,32 之间,并且无重复数字
curry(10, 2, 32);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值