forサイクルの簡略化について


今日は逆ピラミッドの宿題を書いて、書く過程でforの中で複数の変数の前に変数の初期賦値があることを発見して、最後の1つは毎回循環した後に再び賦値します.先生はずっと私にコードを最適化するように要求して、最適化して感じを最適化して新しい天地を発見しました!ソースコードは次のようになります.
for(var i=0;i<13;i++){
     
			if(i<=6){
     
				document.write("
+
(100-i*15) +"% />"); }else{ document.write("
+
(100-6*15+(i-6)*15) +"% />"); } }

後に多くの実現方法を考えます(前の2つは張斯欽の考え方です)
//1:
var list=[10,9,8,7,6,5,4,3,2,1,2,3,4,5,6,7,8,9,10];
		for (let i in list){
     
			document.write("
+
10*list[i] +"% />"); } //2: for(var i=10;i>-11;i--) { document.write("
+
10*Math.abs(i) + "%/>") } //3: for(var i=-10,j=0;i<10;i++,j=(i*i)){ document.write("
+
(j) +"% />"); }

これがプログラミングの醍醐味かもしれません(T)