5行等腰三角形php,JavaScript中,使用for循环输出如下图形(等腰三角形,和平行四边形)?原理是啥?...

以下代码用了ES6,取名比较随意s就是space,空格的意思,n是要总次数,第二个参数是输出的图形

第一个很简单,累加就好了

//ES6

function first(n,print = "*"){

for(let i = 0; i < n ;i++)

console.log(i > 0 ? print.repeat(i + 1) : print);

}

//非ES6

function first(n,print){

print = print || "*";

var temp = "";

for(var i = 0; i < n ; i++)

console.log(temp += print);

}

第二个也很简单,依旧是累加,这次累加的是空格,如果是第一次进入循环就不打印空格

//非es6

function second(n,print){

print = print || "*****"

for(var i = 0,s = "";i < n;i++)

console.log(i > 0?(s = " " + s) + print : print);

}

关于倒过来,不用es6的话,写两个循环(也许可以不用写两个循环吧,但是我没想到),用了es6的话用repeat函数可以写的更好看点

//es6

function secondReverse(n,r = "*****"){

for(let i = 0;i < n;i++)

console.log(" ".repeat(n-i-1) + r );

}

//非es6

function secondReverse(n,print){

print = print || "*****";

for(var i = n;i > 0;i--){

var s = "";

for(let j = 0 ; j < i ; j++)

s+= " ";

console.log(s + print);

}

}

三角形

//ES6

function third(n,print = "*"){

for(let i = 0 ; i < n ; i++ )

console.log(" ".repeat(n-i-1) + (i > 0 ? print.repeat(2*(i+1)-1) : print))

}

//非Es6

function third(n,print){

print = print || "*";

var temp = "";

for(var i = 0 ; i < n ; i++ ){

let s = "";

for(var j = 1 ; j < n - i ;j++)

s += " ";

console.log(i > 0 ? s + (temp = temp + print + print) : s + (temp +=print));

}

}

倒过来

//ES6

function thirdReverse(n,print = "*"){

for(let i = n ; i > 0 ; i--)

console.log(" ".repeat(n - i) + print.repeat(2*i-1))

}

//非ES6

function thirdReverse(n,print){

print = print || "*";

var s = "";

for(var i = 0 ; i < n ; i++ ){

let temp = "*";

s += " ";

for(var j = 1 ; j < n - i ;j++)

temp += print + print

console.log(s + temp);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值