let array = [10, 20, 30, 40, 50]
let i = 0;
// i > array.length μ£Όμ! => 무νλ°λ³΅
for (; i < array.length; ) {
console.log(array[i]);
i++;
}
array.forEach((e) => console.log(e * 3));
// for in
for (let val in array) {
console.log(array[val]);
}
// for of
for (let value of array) {
console.log(value);
}
// νκ· κ΅¬νκΈ°
let sum = 0;
for (let value of array) {
sum += value;
}
console.log(sum / array.length); // 30
while
λ¬Έwhile
λ¬Έ λ΄μ ννμμ κ²°κ³Όλ₯Ό λ³κ²½νλ μ€νλ¬Έμ΄ μ‘΄μ¬νμ§ μμ κ²½μ° λ¬΄ν 루ν(infinite loop)while (ννμ) {
ννμμ κ²°κ³Όκ° μ°ΈμΈ λμ λ°λ³΅μ μΌλ‘ μ€ννκ³ μ νλ μ€νλ¬Έ;
}
// 무ν 루ν
while (true) { ... }
// κ΅¬κ΅¬λ¨ - λ΄ μ½λ
let i = 2;
while (i < 10) {
let j = 1; // μ§μλ³μ
while (j < 10) {
console.log(`${i} X ${j} = ${i * j}`);
j++;
}
i++;
}
do/while
λ¬Έdo/while
λ¬Έμ λ¨Όμ 루νλ₯Ό ν λ² μ€νν νμ ννμμ κ²μ¬while
λ¬Έμ 루νμ λ€μ΄κ°κΈ° μ μ ννμ κ²μ¬ λ¨Όμ do {
ννμμ κ²°κ³Όκ° μ°ΈμΈ λμ λ°λ³΅μ μΌλ‘ μ€ννκ³ μ νλ μ€νλ¬Έ;
} while (ννμ);
// μμ
let num = 0;
do {
console.log(num);
num += 1;
} while (num < 11);
// κ΅¬κ΅¬λ¨ 4λ¨κΉμ§λ§ μΆλ ₯
let i = 2;
let j = 1;
while (i < 10) {
if (i == 5){
break;
}
while (j < 10) {
console.log(`${i} X ${j} = ${i*j}`);
j++;
}
i++;
j = 1;
}
// κ΅¬κ΅¬λ¨ 2 X 4, 3 X 4, ... 9 X 4κΉμ§ μΆλ ₯
let i = 2;
let j = 1;
while (i < 10) {
while (j < 10) {
if (j == 5){
break;
}
console.log(`${i} X ${j} = ${i*j}`);
j++;
}
i++;
j = 1;
}
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
if (j === 2) {
i = 5;
break;
}
}
}
// exit_loopsλΌλ μλ³μκ° λΆμ λ μ΄λΈ for λ¬Έ
// νμ
μμλ κ°μ²΄μ νκ°λ €μ μ μμ°λ νΈ
// ν κΊΌλ©΄ functionμΌλ‘
exit_loops: for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
if (j === 2) {
// j === 2μ΄λ©΄ for λ¬Έμ νμΆ
break exit_loops;
}
}
}
μ°Έκ³ λ§ν¬
let exit_loops = false;
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
if (j === 2) {
exit_loops = true;
break;
}
}
if (exit_loops) break;
}
(function () {
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
if (j === 2) return;
}
}
})();
function nested_loops() {
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
if (j === 2) return;
}
}
}
nested_loops();
// μμλ°μ΄νμ ν° λ°μ΄νλ κΈ°λ₯μ μ°¨μ΄κ° μλ€.
let single = 'μμλ°μ΄ν';
let double = "ν°λ°μ΄ν";
// λ°±ν±μ ννμμ ${...}λ₯Ό μ΄μ©ν΄ λ¬Έμμ΄ μ€κ°μ μ½κ² μ½μ
ν μ μλ€
// = template literal
let backticks = `λ°±ν±`;
λ¬Έμμ΄.length
νλ‘νΌν° : λ¬Έμμ΄μ κΈΈμ΄κ° μ μ₯let s = `abcdefABCDEF`;
console.log(s.length); // 12
=> μμ±μ€μ λλ€:)
let nums = [10, 20, 30, 10, 20, 30, 40, 10];
let total = 0;
// νκ·
for (let num of nums) {
total += num;
}
let avr = total / nums.length;
console.log(avr);
// λΆμ°
let total2 = 0;
for (let num of nums) {
// avr λ£μ΄μΌ νλλ° totalλ‘ μλͺ»λ£μ΄μ κ³μ μλ§μ§μ°½μ΄μμ
num = (num - avr) ** 2;
total2 += num;
}
console.log(total2 / nums.length);
let str = "5, 4, 10, 2, 5";
let sum = 0;
str = str.split(",");
for (let num of str) {
// μλμμ±μ μ¬μ©ν΄μ parseIntκ° parentλ‘ μλͺ» λ€μ΄κ°μ μ΄κ²λ μλ§μ§μ°½μ΄μμ
// Numberμ λͺ©μ μ ν λ³νμ΄ μλλ―λ‘ parseInt μ¬μ©νκΈ°
sum += parseInt(num);
}
console.log(sum / str.length);