• 3.7k

这段js代码怎么优化呀?

function returnYear(month)
        {
            if(month<=1*12)
                return "第二年";
            if(month<=2*12)
                return "第二年,第三年";
            if(month<=3*12)
                return "第二年,第三年,第四年";
            if(month<=4*12)
                return "第二年,第三年,第四年,第五年";
            if(month<=5*12)
                return "第二年,第三年,第四年,第五年,第六年";
            if(month<=6*12)
                return "第二年,第三年,第四年,第五年,第六年,第七年";
            if(month<=7*12)
                return "第二年,第三年,第四年,第五年,第六年,第七年,第八年";
            if(month<=8*12)
                return "第二年,第三年,第四年,第五年,第六年,第七年,第八年,第九年";
            if(month<=9*12)
                return "第二年,第三年,第四年,第五年,第六年,第七年,第八年,第九年,第十年";
            if(month<=10*12)
                return "第二年,第三年,第四年,第五年,第六年,第七年,第八年,第九年,第十年,第十一年";
            if(month<=11*12)
                return "第二年,第三年,第四年,第五年,第六年,第七年,第八年,第九年,第十年,第十一年,第十二年";
            
            
        }
阅读 842
评论
    5 个回答
    var txt = ['第二年', '第三年', '第四年', ...];
    return txt.slice(0, Math.ceil(month / 12)).join(',')
      • 3.3k
      function getYear(month) {
          let num = Math.ceil(month / 12);
          let year = '';
          for (let i = 1; i <= num; i++) {
              year += `第${i}年,`
          }
          year = year.slice(0,-1); //去掉最后逗号
          return year;
      }
        • 116
        getYear(month) {//25-36 =>4
            let chNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'];
            let chList = [];
            for (let n = 0; n <= 11; n++) {
              if (month > n * 12) {
                chList.push(`第${chNum[n + 2]}年`)
              }
            }
            return chList.join(',');
          }
        
         let chList = this.getYear(9 * 12 - 1);

        第二年,第三年,第四年,第五年,第六年,第七年,第八年,第九年,第十年

          • 9k
          function newReturnYear (month) {
            if (month <= 12) { return '第二年' }
            if (month <= 11*12) {
              return ['第二年', '第三年', '第四年', '第五年', '第六年', '第七年', '第八年', '第九年', '第十年', '第十一年', '第十二年']
                .slice(0, Math.ceil(month / 12)).join(',')
            }
          }

          验证

          for (let i = -1; i < 11*12+1; i += 1) {
            console.assert(returnYear(i) === newReturnYear(i))
          }
            • 4
            • 新人请关照
                    function getYear(month){
                        var year = "零,一,二,三,四,五,六,七,八,九,十,十一,十二";
                        var index = Math.ceil(month/12);
                        var strArr = [];
                        for(var i=1;i<=index;i++){
                            strArr.push("第"+year.split(",")[i+1]+"年");
                        }
                        return strArr.toString();
                    }
              撰写回答

              登录后参与交流、获取后续更新提醒

              相似问题
              推荐文章