javascript - 代码优化oooooo
黄舟
黄舟 2017-04-11 11:18:42
[JavaScript讨论组]
function mosaicZero(var num) {
    //根据num拼接字符串zero,数字num是几字符串zero就有几个0.num取值范围0-16
    var zero = "";
    if (num == 0) zero = "0";
    if (num == 1) zero = "00";
    if (num == 2) zero = "000";
    if (num == 3) zero = "0000";
    if (num == 4) zero = "00000";
    if (num == 5) zero = "000000";
    if (num == 6) zero = "0000000";
    if (num == 7) zero = "00000000";
    if (num == 8) zero = "000000000";
    if (num == 9) zero = "0000000000";
    if (num == 10) zero = "00000000000";
    if (num == 11) zero = "000000000000";
    if (num == 12) zero = "0000000000000";
    if (num == 13) zero = "00000000000000";
    if (num == 14) zero = "000000000000000";
    if (num == 15) zero = "0000000000000000";
    if (num == 16) zero = "00000000000000000";
    return zero;
}
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(8)
大家讲道理
var num = 5;
var result = "00000000000000000".substr(0, num);
大家讲道理

我去,最笨的办法 for 循环一次吧。。

怪我咯

var zero='';
function mosaicZero(num) {

for(var i=0;i<=num;i++){
    zero+='0';
}
return zero;

}

高洛峰

使用repeat方法:

function mosaicZero(num){
    if(num > -1 && num < 17){
        return "0".repeat(num + 1);
    }
    return "";
}
PHP中文网
function mosaicZero(num){
  if(typeof num === 'number'){
    return new Array(num + 1).join('0');
  } 
  
  return '';
}

主要利用了Array.prototype.join可以在数组间插入指定的字符串,所以先构建一个包含num + 1个元素的数组(需要+1才能在数组间产生num个间隔)。

伊谢尔伦

不知道你是不是只想得到0还是前面还有num,于是都写了,写的不好,轻喷

    function mosaicZero(num) {
        var zero = '';
        if (num < 16) {
            for (var i = 0; i < num; i++) {
                zero += '0' * num
            }
            zero = num.toString() + zero;
        }
        return zero;
    }

    console.log(mosaicZero(17))

    function mosaicZero(num) {
        var zero = '';
        if(num<16) {
            for(var i=0; i<num; i++) {
                zero += '0' * num
            }
        }
        return zero
    }
    console.log(mosaicZero(7));
伊谢尔伦
return "0".repeat(num);

等下,例子里是不是多了一个,num返回num+1个0?

那么

return "0".repeat(num+1);
高洛峰

ES6

function mosaicZero (num){
    return new Array(num + 1).fill(0);
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号