λ°°μ΄
λ°°μ΄μ΄λ, κ°μ μλ£λ€μ λ΄λ μλ£ κ΅¬μ‘° μ€ νλμ΄λ€. λ³μμ μ¬λ¬ κ°μ λ°μ΄ν°λ₯Ό κ·Έλ£Ήννμ¬ μ μ₯ν΄ λμ μνμ΄λ©°, νλμ λ°°μ΄μλ λμΌν μλ£νμ λμ΄νμ¬ μ¬μ©νλ€.
1μ°¨ λ°°μ΄
λ°°μ΄μ νμμ±
νκΈ μ±μ νλ₯Ό λ³΄κ³ κ° νμλ³λ‘ μ΄μ κ³Ό νκ· μ ꡬν΄μΌνλ€κ³ κ°μ νμ λ, μ±μ νκ° μλμ κ°λ€λ©΄ 3λͺ
μ© 3κ³Όλͺ©μ΄λ―λ‘ μ΄ 9κ°μ λ³μκ° νμν κ²μ΄λ€. λ§μ½, 30λͺ
μ νμμ λν 20κ³Όλͺ©μ λν μ μλΌκ³ κ°μ νλ€λ©΄ μμ±ν΄μΌνλ λ³μκ° λ μ¦κ°νλ―λ‘ νλ‘κ·Έλ¨μ μ’ λ 볡μ‘ν΄μ§κ² λλ€.
λ°°μ΄μ μ΄λ¬ν κ²½μ°λ₯Ό ν΄μνκΈ° μν JavaScript μλ£ κ΅¬μ‘° μ’
λ₯ μ€ νλλ‘ λ³μμ μ¬λ¬ κ°μ λ°μ΄ν°λ₯Ό κ·Έλ£Ήννμ¬ μ μ₯ν΄ λμ μνλ₯Ό λ§νλ€.
μ΄λ¦ |
κ΅μ΄ |
μμ΄ |
μν |
μ² μ |
92 |
81 |
77 |
μν¬ |
72 |
95 |
98 |
λ―Όν |
80 |
86 |
84 |
var kor1 = 92;
var kor2 = 71;
var kor3 = 80;
// ... μλ΅ ...
var math2 = 84;
var math3 = 98;
λ°°μ΄ μμ±
1. λ°°μ΄μ μ μΈ
JavaScriptλ λ³μμ νΉμ±μ΄ κ°μ΄ ν λΉλ λ κ²°μ λκΈ° λλ¬Έμ μ μΈμ μΌλ° λ³μμ λμΌνλ©°, ν λΉνκΈ° μ κΉμ§λ μ«μ, λ¬Έμμ΄, λ°°μ΄ λ±μ ꡬλΆμ΄ μλ€.
let myArr;
2. λ°°μ΄μ ν λΉ
λκ΄νΈ([]) μμ ν¬ν¨ν κ°λ€μ λ°μ΄ν° νμ
μ κ΅¬λΆ μμ΄ μ½€λ§(,)λ‘ κ΅¬λΆνμ¬ λμ΄νλ€. μ μΈκ³Ό ν λΉμ΄ λλμ΄μ§ κ²½μ°, constλ‘ μ μΈν μ μλ€.
myArr = [1, 2, 3.14, true, false, "hello", "world"];
3. μ μΈκ³Ό ν λΉμ ν΅ν© (κΆμ₯)
μ μΈκ³Ό ν λΉμ ν λ²μ νλ λ°©λ²μ΄λ©°, μ΄ λ°©λ²μ μ¬μ©μ κ°μ₯ κΆμ₯νλ€.
let myArr = [1, 2, 3, 5, 7];
4. Array ν΄λμ€λ₯Ό μ¬μ©ν ν λΉ
new Array(...)
νμμΌλ‘ μμ±νλ©°, κΆμ₯νμ§ μλ λ°©λ²μ΄λ€. λ°°μ΄μ μμ±ν λ () μμ μ«μ κ° νλλ§ λͺ
μλλ κ²½μ°, μ«μ κ°λ§νΌμ λΉ μΉΈμ κ°λ λ°°μ΄μ΄ μμ±λλ©°, κ·Έλ κ² μμ±λ λ°°μ΄μ κ° μΉΈμ λͺ¨λ μ μλμ§ μμ undefined κ°μ΄ ν λΉλλ€.
let newArr1 = new Array("hello", "world", 1, 2, 3, true, false);
// () μμ μ«μ κ° νλλ§ λͺ
μλλ κ²½μ°
let newArr2 = new Array(50); // 50μΉΈμ λΉ λ°°μ΄ μμ±
λ°°μ΄μ μμμ μ κ·Ό
λ°°μ΄μ κ° μμλ 0λΆν° μμνλ μΌλ ¨λ²νΈλ₯Ό λΆμ¬λ°λλ°, μ΄λ₯Ό λ°°μ΄μ μΈλ±μ€λΌκ³ νλ€. λ°°μ΄μ μμμ μ κ·Όν λμλ μΈλ±μ€ λ²νΈλ₯Ό νμ©νμ¬ μ κ·Όν΄μΌ νλ©°, μ‘΄μ¬νμ§ μλ μμμ κ°μ μΆλ ₯νκ³ μ ν κ²½μ°μλ μ μλμ΄ μμ§ μκΈ° λλ¬Έμ undefinedμΌλ‘ μΆλ ₯λκ² λλ€.
let myArr = [1, 2, 3.14, true, false, "hello", "world"];
console.log(myArr[0]);
console.log(myArr[2]);
console.log(myArr[4]);
console.log(myArr[6]);
/** κ²°κ³Ό **/
1
3.14
false
world
λ°°μ΄μ ν¬κΈ°
λ°°μ΄μ΄λ¦.length λ λ°°μ΄μ μΉΈ μλ₯Ό λ°ννλ©°, λ°°μ΄μ μΈλ±μ€λ νμ 0λΆν° ν¬κΈ°-1κΉμ§ 1μ© μ¦κ°νλ©° μ‘΄μ¬νλ€.
/** 5μΉΈμΌλ‘ ꡬμ±λ λΉ λ°°μ΄ μμ± **/
const myArr = new Array(5);
console.log(myArr);
/** λ°°μ΄μ κΈΈμ΄ **/
const len = myArr.length;
console.log("λ°°μ΄μ κΈΈμ΄λ %d", len);
/** κ²°κ³Ό **/
[ <5 empty items> ]
λ°°μ΄μ κΈΈμ΄λ 5
λ°λ³΅λ¬Έμ ν΅ν νμ©
λ°°μ΄μ μΈλ±μ€λ 0λΆν° (λ°°μ΄μ΄λ¦.length-1)λ‘, μμ°¨μ μΌλ‘ μ¦κ°νλ€λ νΉμ±μ΄ μλ€. λ°λ³΅λ¬Έμ μ΄κΈ°μμ 0μΌλ‘ ν λΉνκ³ , 쑰건μμ λ°°μ΄μ κΈΈμ΄λ³΄λ€ μμ λμμ μ¦κ°μμ 1μ© μ¦κ°λ‘ μ€μ ν λ°λ³΅λ¬Έκ³Ό ν¨κ» μ¬μ©νλ κ²μ΄ μΌλ°μ μ΄λ€.
/** μ΅λ κ°μ ꡬνλ μμ **/
// μμκ°μ 무μμλ‘ κ°λ λ°°μ΄
const data = [5, 2, 7, 9, 2];
// λΉκ΅λ₯Ό μν΄ λ°°μ΄μ 첫 λ²μ§Έ μμ 볡μ¬
let max = data[0];
// 1λ²μ§Έ μ΄ν μμλΆν° λ§μ§λ§ μμκΉμ§ λ°λ³΅
for (let i = 1; i < data.length; i++) {
console.log("max=%d, data[%d]=%d", max, i, data[i]);
// maxκ° dataμ iλ²μ§Έλ³΄λ€ μλ€λ©΄ iλ²μ§Έ μμλ₯Ό maxμ 볡μ¬
// λΉκ΅μμ λΆλ±νΈ λ°©ν₯λ§ λ°λλ‘ μ§μ νλ©΄ μ΅μκ° κ΅¬νκΈ° κ°λ₯
if (max < data[i]) {
console.log(">> maxμ " + data[i] + "λ₯Ό 볡μ¬");
max = data[i];
}
}
console.log("---------");
console.log("μ΅λκ° = %d", max);
/** κ²°κ³Ό **/
max=5, data[1]=2
max=5, data[2]=7
>> maxμ 7λ₯Ό 볡μ¬
max=7, data[3]=9
>> maxμ 9λ₯Ό 볡μ¬
max=9, data[4]=2
---------
μ΅λκ° = 9
- λ°λ³΅ νμλ₯Ό ꡬνκΈ° μν μ°μ°
- μμκ° 5κ°μΌ κ²½μ°μ λ°λ³΅ νμ => 2ν
- 5/2λ₯Ό μ°μ°
- μ°μ° κ²°κ³Όμμ parseInt() λͺ
λ Ήμ ν΅ν΄ λλ¨Έμ§λ₯Ό λ²λ¦΄ μ μλ€.
- parseInt(μ€μ): μμμ μλ λ₯΄ λ²λ¦¬κ³ μ μ λΆλΆλ§ λ°ννλ λͺ
λ Ήμ΄
- μμκ° 6κ°μΌ κ²½μ°μ λ°λ³΅ νμ: 3ν
- λ°°μ΄μ κΈΈμ΄/2 λ§νΌ λ°λ³΅ μ²λ¦¬
/** μμ λ°°μΉ **/
const data = [1, 5, 2, 4, 3];
console.log(data);
const p = parseInt(data.length/2);
for (let i = 0; i < p; i++) {
// iλ²μ§Έ μμμ λ°λμͺ½μ μμΉν μμμ μΈλ±μ€
const k = data.length - i - 1;
const tmp = data[i];
data[i] = data[k];
data[k] = tmp;
}
console.log(data); // [ 3, 4, 2, 5, 1 ]
- SWAP μ²λ¦¬
- λ³μ aμ λ³μ bμ κ°μ μλ‘ κ΅ννκΈ° μν΄ λλ€λ₯Έ λ³μ cλ₯Ό λ§λ€μ΄ cμ aμ κ°μ λμ
νλ€.
- aμ bμ κ°μ λμ
ν, bμ cμ κ°μ λμ
νλ€.
let a = 1;
let b = 2;
let c = 0;
c = a;
a = b;
b = c;
2μ°¨ λ°°μ΄
1μ°¨ λ°°μ΄μ κ° μμκ° λ€λ₯Έ λ°°μ΄λ‘ ꡬμ±λ ννλ‘, μ΄μ κ°λ
λ§ μ‘΄μ¬νλ 1μ°¨ λ°°μ΄μ νμ κ°λ
μ΄ μΆκ°λ ννμ΄λ€.
2μ°¨ λ°°μ΄ μμ±
[]λ₯Ό μ¬μ©νμ¬ 1μ°¨μμ νννκ³ , κ·Έ μμ λ€μ []λ₯Ό μ½€λ§λ‘ ꡬλΆνμ¬ 1μ°¨μμ ꡬμ±νλ€.
/** myArrλΌλ λ°°μ΄ μμ 3κ°μ λ°°μ΄μ΄ 0, 1, 2λ²μ§Έ μμΉμ ν¬ν¨ **/
const myarr = [ [ ... ], [...] ];
/** μλμ κ°μ 2μ°¨ λ°°μ΄μ μ μΈμ΄ λΆκ°λ₯ */
const myArr = [][][];
2μ°¨ λ°°μ΄ μμμ μ κ·Ό
2ν 3μ΄μΈ κ²½μ°, νμ μΈλ±μ€λ 0λΆν° 1κΉμ§, μ΄μ μΈλ±μ€λ 0λΆν° 2κΉμ§ μ‘΄μ¬νκ² λλ€. λ°°μ΄μ μ μ₯λ μμμ μ κ·ΌνκΈ° μν΄μλ λ³μ μ΄λ¦ λ€μ ν, μ΄μ μμλ‘ μΈλ±μ€λ₯Ό λͺ
μν΄μΌ νλ€.
const myArr = [
[1, 2, 3],
[4, 5, 6]
];
console.log(myArr[0][1]); // 2
2μ°¨ λ°°μ΄μ ν, μ΄ ν¬κΈ°
1. νμ ν¬κΈ°
λ°°μ΄μ κΈΈμ΄κ° νμ μλ―Ένλ―λ‘, 2μ°¨ λ°°μ΄μ λν κΈΈμ΄λ₯Ό μ§μ ꡬνλ©΄ νμ ν¬κΈ°λ₯Ό μ μ μλ€.
const myArr = [
[1, 2, 3],
[4, 5, 6]
];
console.log(myArr.length); // 2
2. μ΄μ ν¬κΈ°
2μ°¨ λ°°μ΄μ λͺ¨λ νμ λν μ΄ ν¬κΈ°κ° νμ λμΌνλ€λ 보μ₯μ μλ€. κ·Έλ κΈ° λλ¬Έμ μ΄μ ν¬κΈ°λ κ° νλ§λ€ κ°λ³μ μΌλ‘ ꡬν΄μΌ νλ€.
const myArr = [
[1, 2, 3],
[4, 5, 6]
];
// λ°°μ΄μ κ° ν λ¨μλ‘ μ΄ μ‘°ν κ°λ₯
console.log(myArr[0].length); // 0λ²μ§Έ νμ μ΄ μ‘°ν
console.log(myArr[1].length); // 1λ²μ§Έ νμ μ΄ μ‘°ν
/** κ²°κ³Ό **/
3
3
κ°λ³ λ°°μ΄
μμλ‘μ ν¬ν¨λλ κ° λ°°μ΄μ ν¬κΈ°κ° λμΌνμ§ μμ λ°°μ΄μ λ§νλ€. νμ λ°°μ΄μ λͺ¨λ νμ΄ λμΌν μ΄λ‘ ꡬμ±λλ κ²μ΄ μλλ©°, λͺ¨λ μ€μ μΉΈ μκ° κ°λ€λ 보μ₯ λν μλ€. κ°λ³ λ°°μ΄μ΄ μμ£Ό λ±μ₯νμ§λ μμΌλ©°, λλΆλΆμ κ²½μ°κ° λͺ¨λ νλ§λ€ μ΄ ν¬κΈ°κ° λμΌν κ²½μ°μ΄λ€.
const a = [1, 3, 5, 7, 9];
const b = [2, 4, 6];
const data = [a, b];
console.log(data); // [[1, 3, 5, 7, 9], [2, 4, 6]]
for (let i=0; i<data.length; i++) {
console.log(data[i]);
// [1, 3, 5, 7, 9]
// [2, 4, 6]
for (let j=0; j<data[i].length; j++) {
console.log(data[i][j]);
// κ° λ°°μ΄μ μμλ€ μΆλ ₯
}
};
λ°λ³΅λ¬Έμ ν΅ν νμ©
1. λ°°μ΄μ λͺ¨λ μμ μ€μΊ
λ°λ³΅λ¬ΈμΌλ‘ μ€μΊνκΈ° μν΄μλ μ€μ²© λ°λ³΅λ¬Έμ μ¬μ©ν΄μΌ νλ€. μ΄λ, λΆλͺ¨ λ°λ³΅λ¬Έμ νμ λν΄ κ΄μ¬νκ³ , μμ λ°λ³΅λ¬Έμ μ΄μ λν΄ κ΄μ¬νκ² λλ€.
2. for-of
for-ofλ λ°°μ΄ κ°μ μννλ ν¨μλ‘ λ°°μ΄ μμλ₯Ό μΆμΆνλ€.
- 1μ°¨ λ°°μ΄ νμ
- μμμ ν©, μ΅λ κ°μ ꡬν λ μ΅μ νλμ΄ μλ€.
- itemμ΄ λͺ λ²μ§ΈμΈμ§ μ μ μκΈ° λλ¬Έμ μ λ ¬, λ κ°μ λ°°μ΄ λΉκ΅, μμ λ°°μΉ λ±μμλ μ¬μ©νμ§ λͺ» νλ€.
- μμλ§ μΆμΆνμ¬ μ²λ¦¬νλ logicμμ μ¬μ©νκΈ° μ’λ€.
- 2μ°¨ λ°°μ΄ νμ
- μ λ ¬, λ κ°μ λ°°μ΄ λΉκ΅, μμ λ°°μΉ λ±μμ μ¬μ© κ°λ₯νλ€.
/** 1μ°¨ λ°°μ΄μ νμ **/
const data = [4, 5, 2, 1, 3];
for (const item of data) { // λ°°μ΄ μμ μΆλ ₯
console.log(item);
}
/** κ²°κ³Ό**/
4
5
2
1
3
/** 2μ°¨ λ°°μ΄μ νμ **/
const myArr = [
[1, 2, 3],
[4, 5, 6]
];
for (const item of myArr) { // λ°°μ΄μ ν ν μΆλ ₯
console.log(item);
for (const sub of item) { // λ°°μ΄μ μμ μΆλ ₯
console.log(sub);
}
};
/** κ²°κ³Ό **/
[ 1, 2, 3 ]
1
2
3
[ 4, 5, 6 ]
4
5
6