JS 005
4878 ワード
JS基本文法
1.繰り返し文(while,for)
ドア
デフォルトのフォーマット
while
文は、条件式参加期間中に動作文を繰り返し実行する構成である.動作文が1つ以上ある場合は、括弧で囲んだほうがいいです.無限の繰り返しを行わないように注意する.
while(条件式){
アクション文
動作文2;
アクション文
}> let i = 1;
while (i <=100) {
console.log('Hello');
i++; // i = i+1, i += 1 과 동일하다.
}
(100) Hello
< 100
通常、プログラミングでは変数の最初の値が0に代入されるので、条件式を設定して必要な回数の重複文を作成することに注意してください.> let i = 0;
while (i < 100) { // (i <= 99)와 동일
console.log('Hello');
i++; // i = i+1, i += 1 과 동일하다.
}
(100) Hello
< 99
文脈
デフォルトのフォーマット
for
文の括弧に開始(式または変数宣言)、条件式、終了式を記入すればよい.
for(開始;条件式;終了式)
アクション文> for (let i = 0; i < 100; i++) {
console.log('Hello');
}
(100) Hello
< undefined
動作文が長くなるとfor
文の方が読みやすさが高くなります.なお、開始、条件式および終了式は省略することができ、この場合、条件はtrue
であり、無限に繰り返される.無限反復文を書く場合は条件式を省略するので、while
文を書くのが望ましい.> for (;;) {
}
무한 반복
while文として1~100を入力
> let i = 0
while (i < 100) {
console.log(i+1);
i++;
}
for文として1~100を入力
> for (let i = 0; i < 100; i++) {
console.log(i+1);
}
breakで重複文を停止する
> let i = 0
while (true) {
if (i === 5) break;
i++;
}
console.log(i);
5
コード実行のスキップを続行
反復文が特定の条件下でのみ実行される場合、continue
を使用してスキップコード実行を指定し、特定の条件下でのみ実行できます.> let i = 0;
while (i < 10) { // 홀수만 console.log
i++;
if (i % 2 === 0) { // 짝수인 경우에는 건너뛰기
continue;
}
console.log(i);
}
ネストされた重複文の使用
> for (let i = 0;i < 10; i++) {
for (let j = 0; j < 10; j++) {
console.log(i, j);
}
}
0 0
0 1
0 2
...
9 7
9 8
9 9
> for (let i = 0; i < 5; i++) {
if (i % 2 === 0) continue;
for (let j = 0; j < 5; j ++) {
if (j % 2 === 0) continue;
for (let k = 0; k < 5; k++) {
if (k % 2 === 0) continue;
console.log(i, j, k);
}
}
}
1 1 1
1 1 3
1 3 1
1 3 3
3 1 1
3 1 3
3 3 1
3 3 3
九九乗算テーブルの偶数を除外
> for (let i = 0; i < 9; i++) {
for (let j = 0; j < 9 ; j++) {
if ((i+1)*(j+1) % 2 == 0) continue;
console.log(i, j, (i+1)*(j+1));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 0) continue;
for (let j = 0; j < 10; j++) {
if (j % 2 === 0) continue;
console.log(i, j, i*j)
}
}
> for (let i = 0; i < 10 ; i++) {
for (let j = 0; j < 10; j++) {
if (i % 2 === 0 || j % 2 === 0) continue;
console.log(i, j, i*j)
}
}
*を使用したライブシェイプの作成
> for (let i = 0; i < 10; i++) {
console.log('*'.repeat(i+1));
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log('*'.repeat(i));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log(' '.repeat(10-i) + '*'.repeat(i));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log(' '.repeat((10-i)/2) + '*'.repeat(i) + ' '.repeat((10-i)/2));
}
}
*逆三角形の作成
> for (let i = 5; i >= 1; i--) {
console.log('*'.repeat(i));
}
> for (let i = 0; i < 5 ; i++) {
console.log('*'.repeat(5-i));
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log('*'.repeat(10-i));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log(' '.repeat(i) + '*'.repeat(10-i));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log(' '.repeat(i/2) + '*'.repeat(10-i) + ' '.repeat(i/2));
}
}
Reference
この問題について(JS 005), 我々は、より多くの情報をここで見つけました
https://velog.io/@hyoungqu23/JS-005
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
> let i = 1;
while (i <=100) {
console.log('Hello');
i++; // i = i+1, i += 1 과 동일하다.
}
(100) Hello
< 100
> let i = 0;
while (i < 100) { // (i <= 99)와 동일
console.log('Hello');
i++; // i = i+1, i += 1 과 동일하다.
}
(100) Hello
< 99
> for (let i = 0; i < 100; i++) {
console.log('Hello');
}
(100) Hello
< undefined
> for (;;) {
}
무한 반복
> let i = 0
while (i < 100) {
console.log(i+1);
i++;
}
> for (let i = 0; i < 100; i++) {
console.log(i+1);
}
> let i = 0
while (true) {
if (i === 5) break;
i++;
}
console.log(i);
5
> let i = 0;
while (i < 10) { // 홀수만 console.log
i++;
if (i % 2 === 0) { // 짝수인 경우에는 건너뛰기
continue;
}
console.log(i);
}
> for (let i = 0;i < 10; i++) {
for (let j = 0; j < 10; j++) {
console.log(i, j);
}
}
0 0
0 1
0 2
...
9 7
9 8
9 9
> for (let i = 0; i < 5; i++) {
if (i % 2 === 0) continue;
for (let j = 0; j < 5; j ++) {
if (j % 2 === 0) continue;
for (let k = 0; k < 5; k++) {
if (k % 2 === 0) continue;
console.log(i, j, k);
}
}
}
1 1 1
1 1 3
1 3 1
1 3 3
3 1 1
3 1 3
3 3 1
3 3 3
> for (let i = 0; i < 9; i++) {
for (let j = 0; j < 9 ; j++) {
if ((i+1)*(j+1) % 2 == 0) continue;
console.log(i, j, (i+1)*(j+1));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 0) continue;
for (let j = 0; j < 10; j++) {
if (j % 2 === 0) continue;
console.log(i, j, i*j)
}
}
> for (let i = 0; i < 10 ; i++) {
for (let j = 0; j < 10; j++) {
if (i % 2 === 0 || j % 2 === 0) continue;
console.log(i, j, i*j)
}
}
> for (let i = 0; i < 10; i++) {
console.log('*'.repeat(i+1));
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log('*'.repeat(i));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log(' '.repeat(10-i) + '*'.repeat(i));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log(' '.repeat((10-i)/2) + '*'.repeat(i) + ' '.repeat((10-i)/2));
}
}
> for (let i = 5; i >= 1; i--) {
console.log('*'.repeat(i));
}
> for (let i = 0; i < 5 ; i++) {
console.log('*'.repeat(5-i));
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log('*'.repeat(10-i));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log(' '.repeat(i) + '*'.repeat(10-i));
}
}
> for (let i = 0; i < 10 ; i++) {
if (i % 2 === 1) {
console.log(' '.repeat(i/2) + '*'.repeat(10-i) + ' '.repeat(i/2));
}
}
Reference
この問題について(JS 005), 我々は、より多くの情報をここで見つけました https://velog.io/@hyoungqu23/JS-005テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol