π₯ νμ΅λͺ©ν
- μλ°μ€ν¬λ¦½νΈ λ°°μ΄κ³Ό κ·Έ νΉμ±μ λν΄ μ€λͺ ν μ μλ€.
- λ°°μ΄μ μ¬μ© λλ λνμ μΈ ν¨μλ₯Ό νμ©ν μ μλ€.
- μ½νλ¦Ώμ νλ©΄μ μκΎΈ ν·κ°λ¦° slice, splice ν¨μ μΈμλ₯Ό μ νν μ΄ν΄νλ€.
μ¬λ¬ κ°μ κ°μ μμ°¨μ μΌλ‘ λμ΄ν μλ£κ΅¬μ‘°.
λ°°μ΄μ΄ κ°μ§κ³ μλ κ°μ μμ(element)λΌκ³ λΆλ₯Έλ€.
μλ°μ€ν¬λ¦½νΈμ λͺ¨λ κ°μ λ°°μ΄μ μμκ° λ μ μλ€.
λ°°μ΄μ μμμ κ°μ, λ°°μ΄μ κΈΈμ΄λ₯Ό λνλ΄λ length νλ‘νΌν°λ₯Ό κ°λλ€. μ΄λ₯Ό μ¬μ©νμ¬ forλ¬Έμ ν΅ν΄ μμ°¨μ μΌλ‘ μμμ μ κ·Όν μ μλ€.
λ°°μ΄μ νμ μ Object κ°μ²΄μ΄λ€.
typeof arr // Object
μλ°μ€ν¬λ¦½νΈμμ λ§νλ λ°°μ΄μ νν μλ£κ΅¬μ‘°μμ λ§νλ λ°°μ΄κ³Ό λ€λ₯΄λ€.
μλ£κ΅¬μ‘°μμ λ§νλ λ°°μ΄μ...
λμΌν ν¬κΈ°μ λ©λͺ¨λ¦¬ 곡κ°μ΄ λΉνμμ΄ μ°μμ μΌλ‘ λμ΄λ μλ£κ΅¬μ‘°λ₯Ό λ§νλ€.
μμλ νλμ λ°μ΄ν° νμ
μΌλ‘ ν΅μΌλμ΄ μμΌλ©° μλ‘ μ°μμ μΌλ‘ μΈμ ν΄ μλ€.
μ΄λ₯Ό λ°μ§ λ°°μ΄(dense array)λΌκ³ νλ€.
π΅ μΌλ°μ μΈ λ°°μ΄μ μΈλ±μ€λ‘ μμμ λΉ λ₯΄κ² μ κ·Όν μ μλ€.
π΄ νμ§λ§ νΉμ μμλ₯Ό κ²μνκ±°λ μ½μ
/μμ ν λλ ν¨μ¨μ μ΄μ§ μλ€.
μλ°μ€ν¬λ¦½νΈμμ λ§νλ λ°°μ΄μ...
μλ°μ€ν¬λ¦½νΈμ λ°°μ΄μ μΌλ°μ μΈ λ°°μ΄μ λμμ νλ΄ λΈ νΉμν κ°μ²΄λ€.
κ°κ°μ λ©λͺ¨λ¦¬ 곡κ°μ λμΌν ν¬κΈ°λ₯Ό κ°μ§ μμλ λλ©° μ°μμ μΌλ‘ μ΄μ΄μ Έ μμ§ μμ μλ μλ€. μΌλΆκ° λΉμ΄ μμ μλ μλ€.
μ΄λ₯Ό ν¬μ λ°°μ΄μ΄λΌκ³ νλ€.
π΅ JS λ°°μ΄μ ν΄μ ν
μ΄λΈλ‘ ꡬνλ κ°μ²΄μ΄λ―λ‘ νΉμ μμλ₯Ό κ²μνκ±°λ μμλ₯Ό μ½μ
/μμ νλ κ²½μ°μλ μΌλ°λμΈ λ°°μ΄λ³΄λ€ λΉ λ₯΄λ€.
π΄ νμ§λ§ μΈλ±μ€λ‘ μμμ μ κ·Όνλ κ²½μ° μΌλ°μ μΈ λ°°μ΄λ³΄λ€ μ±λ₯μ μΈ λ©΄μμ λ리λ€.
λ°°μ΄μ κΈΈμ΄λ₯Ό λνλ΄λ 0μ΄μμ μ μλ₯Ό κ°μΌλ‘ κ°λλ€.
λΉ λ°°μ΄μΌ κ²½μ° 0μ κ°λλ€.
νμ¬ length νλ‘νΌν° κ°λ³΄λ€ μμ μ«μλ₯Ό ν λΉνλ©΄ λ°°μ΄μ κΈΈμ΄κ° μ€μ΄λ λ€.
const arr = [1,2,3,4,5];
arr.length = 3;
console.log(arr); // [1,2,3]
μ μ΄μ λΉ μμλ₯Ό λ§λ€λ©΄ μλμ κ°λ€.
const sparse = [, 2, ,4];
console.log(sparse.length); //4
console.log(sparse); // [empty, 2, empty, 4]
π΄ λΉ κ³΅κ°μ κ°μ§ μ μλ ν¬μ λ°°μ΄μ νΉμ± μ ν¬μ λ°°μ΄μ lengthλ ν¬μ λ°°μ΄μ μ€μ μμ κ°μλ³΄λ€ μΈμ λ ν¬λ€. νμ§λ§ ν¬μ λ°°μ΄μ μ¬μ©νμ§ μλ κ²μ΄ μ’λ€.
μ΅μ νκ° μ λμ΄μλ λͺ¨λ μλ°μ€ν¬λ¦½νΈ μμ§μ μμμ νμ μ΄ μΌμΉνμ§ μλ λ°°μ΄μ μμ±ν λ μΌλ°μ μΈ μλ―Έμ λ°°μ΄μ²λΌ μ°μλ λ©λͺ¨λ¦¬ 곡κ°μ ν보νλ€.
λ°°μ΄μλ κ°μ νμ μ μμλ₯Ό μ°μμ μΌλ‘ μμΉμν€λ κ²μ΄ μ΅μ μ΄λ€.
const arr = [1,2,3]; // μμ ν λΉ
const arr =[]; // λΉ λ°°μ΄
const arr = [1, ,3]; // ν¬μ λ°°μ΄(λΉ κ³΅κ°μ undefined)
Array μμ±μ ν¨μλ₯Ό ν΅ν΄ λ°°μ΄μ μμ±ν μλ μλ€. μ λ¬ λ μΈμμ κ°μμ λ°λΌ λ€λ₯΄κ² λμνλ―λ‘ μ£Όμκ° νμνλ€.
const arr = new Array(); // [] λΉ λ°°μ΄
const arr = new Array(10); // [empty Γ 10] ν¬μ λ°°μ΄
const arr = new Array(1,2,3); // [1,2,3]
const arr = new Array({}); // [{}] μ λ¬ λ μΈμκ° 1κ°μ§λ§ μ«μκ° μλλ©΄ μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄μ μμ±νλ€.
ES6μμ λμ λ Array.of λ©μλλ μ λ¬ λ μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄μ μμ±νλ€. Array μμ±μ ν¨μμ λ€λ₯΄κ² μ λ¬λ μΈμκ° 1κ°μ΄κ³ μ«μμ΄λλΌλ μΈμλ₯Ό κ°λ λ°°μ΄μ μμ±νλ€.
Array.of(1); // [1]
Array.of(1,2,3); // [1, 2, 3]
Array.of('string'); // ['string']
ES6μμ λμ λ Array.from λ©μλλ μ μ¬ λ°°μ΄ κ°μ²΄ λλ μ΄ν°λ¬λΈ κ°μ²΄λ₯Ό μΈμλ‘ μ λ¬ λ°μ λ°°μ΄λ‘ λ³ννμ¬ λ°ννλ€.
ꡬ쑰 λΆν΄ ν λΉ μ΄λ?
let x, y, z;
[x, y, z] = [1, 2, 3];
let [x, y, z] = [1, 2, 3];
const arr = [1, 2, 3];
const [one, two, three] = arr;
console.log(one, two, three); // 1 2 3
// μ μ¬ λ°°μ΄ κ°μ²΄λ₯Ό λ³ννμ¬ λ°°μ΄ μμ±
Array.from({length:2, 0: 'a', 1: 'b'}); // ['a', 'b']
// μ΄ν°λ¬λΈμ λ³ννμ¬ λ°°μ΄ μμ±
Array.from('Hello'); // ['H', 'e', 'l', 'l', 'o']
λ λ²μ§Έ μΈμλ‘ μ½λ°± ν¨μλ₯Ό μ λ¬ν΄ κ°μ λ§λ€λ©΄μ μμλ₯Ό μ±μΈ μλ μλ€.
첫 λ²μ§Έ μΈμμ μν΄ μμ± λ λ°°μ΄μ μμκ°κ³Ό μΈλ±μ€λ₯Ό μμ°¨μ μΌλ‘ μ λ¬νλ©΄μ μ½λ°± ν¨μλ₯Ό νΈμΆνκ³ , κ·Έ λ°νκ°μΌλ‘ ꡬμ±λ λ°°μ΄μ λ°ννλ€.
Array.from({ length: 3 }, (_, i)=> i); // [0,1,2]
μ λ¬ λ μΈμκ° λ°°μ΄μ΄λ©΄ true, μλλ©΄ false
μΈμλ‘ μ λ¬ λ μμλ₯Ό κ²μνμ¬ μΈλ±μ€λ₯Ό λ°ννλ€.
π΄ λ°νκ°μ΄ -1μΈμ§ νμΈν΄μΌνκ³ , λ°°μ΄μ NaNμ΄ ν¬ν¨λμ΄ μλμ§ νμΈν μ μλ€λ λ¨μ μ΄ μλ€.
λ°°μ΄ λ΄μ νΉμ μμκ° ν¬ν¨λμ΄ μλμ§ νμΈνμ¬ true/falseλ₯Ό λ°ννλ€.
첫 λ²μ§Έ μΈμλ‘ κ²μν λμμ μ§μ νλ€.
λ λ²μ§Έ μΈμλ‘ κ²μμ μμν μΈλ±μ€λ₯Ό μ λ¬ν μ μλ€. μλ΅ κ°λ₯νλ©° κΈ°λ³Έκ°μ 0μ΄λ€.
μμ μ λ¬ μ length νλ‘νΌν° κ°κ³Ό μμ μΈλ±μ€λ₯Ό ν©μ°νμ¬ κ²μ μμ μΈλ±μ€λ₯Ό μ€μ νλ€.
indexOf λ³΄λ€ κ°λ μ±μ΄ μ’λ€.
[NaN].includes(NaN); // true
κ°λ₯
μΈμλ‘ μ λ¬λ°μ λͺ¨λ κ°μ μλ³Έ λ°°μ΄μ λ§μ§λ§ μμλ‘ μΆκ°νκ³ λ³κ²½λ length νλ‘νΌν° κ°μ λ°ννλ€.
μλ³Έ λ°°μ΄μμ λ§μ§λ§ μμλ₯Ό μ κ±°νκ³ μ κ±°ν μμλ₯Ό λ°ννλ€.
μλ³Έ λ°°μ΄μ μ λμ μμλ₯Ό μΆκ°νκ³ λ³κ²½λ length νλ‘νΌν° κ°μ λ°ννλ€.
ES6 μ€νλ λ λ¬Έλ²μ λμ μ¬μ©νλ©΄ μλ³Έ λ°°μ΄μ λ³κ²½νμ§ μκ³ μμλ₯Ό μΆκ°ν μ μλ€.
μλ³Έ λ°°μ΄μ 첫 λ²μ§Έ μμλ₯Ό μ κ±°νκ³ μ κ±°ν μμλ₯Ό λ°ννλ€.
μλ³Έ λ°°μ΄μ μ€κ°μ μμλ₯Ό μΆκ°νκ±°λ μ€κ°μ μλ μμλ₯Ό μ κ±°νλ κ²½μ° μ¬μ©νλ€.
arr.splice(start, deleteCount, items);
start
: μμλ₯Ό μ κ±°νκΈ° μμν μΈλ±μ€. μμμΈ κ²½μ° λ°°μ΄μ λμμμ μΈλ±μ€.deleteCount
: startλΆν° μ κ±°ν μμμ κ°μ.itmes
: μ κ±°ν μμΉμ μ½μ
ν μμλ€ λͺ©λ‘. μλ΅ μ μ§μ λ μμ μ κ±°λ§.π΄ startλ§ μ§μ νλ©΄ μλ³Έ λ°°μ΄μ startλΆν° λͺ¨λ μμλ€μ μ κ±°νλ€.
π΄ deleteCountλ₯Ό 0μΌλ‘ μ§μ νλ©΄ μλ¬΄λ° μμλ μ κ±°νμ§ μκ³ μλ‘μ΄ μμλ₯Ό μ½μ
νλ€.
π΄ deleteCountλ₯Ό μλ΅νλ©΄ start λΆν° λͺ¨λ μμλ₯Ό μ κ±°νλ€.
λ°°μ΄μμ νΉμ μμλ₯Ό μ κ±°νλ €λ©΄ indexOf λ©μλλ₯Ό ν΅ν΄ νΉμ μμμ μΈλ±μ€λ₯Ό μ·¨λν λ€μ splice λ©μλλ₯Ό μ¬μ©νλ€.
const index = array.indexOf(item);
if(index !== -1) array.splice(index, 1);
filter λ©μλλ₯Ό μ¬μ©νλ©΄ νΉμ μμκ° μ€λ³΅ λ κ²½μ° λͺ¨λ μ κ±°λλ€.
array.filter(v=> v!==item);
μλ³Έ λ°°μ΄μ μμλ₯Ό λ°λλ‘ λ€μ§λλ€.
μΈμλ‘ μ λ¬λ°μ κ°μ λ°°μ΄μ μ²μλΆν° λκΉμ§ μμλ‘ μ±μ΄λ€.
arr.fill(element, start, end)
const arr = [1,2,3];
arr.fill(0);
console.log(arr); // [0,0,0]
arr.fill(0,1); // μΈμλ‘ μ λ¬λ°μ κ° 0μ μΈλ±μ€ 1λΆν° λκΉμ§ μμλ‘ μ±μ΄λ€.
arr.fill(0,1,4); // 1λΆν° μΈλ±μ€ 3κΉμ§ μμλ‘ μ±μ΄λ€.
λͺ¨λ μμλ₯Ό νλμ κ°λ§μΌλ‘ μ±μΈ μλ°μ μλ€λ λ¨μ μ΄ μλ€.
Array.from
λ©μλλ₯Ό μ¬μ©νλ©΄ μ½λ°± ν¨μλ₯Ό ν΅ν΄ μμκ°μ λ§λ€λ©΄μ λ°°μ΄μ μ±μΈ μ μλ€.
μΈμλ‘ μ λ¬ν κΉμ΄λ§νΌ μ¬κ·μ μΌλ‘ λ°°μ΄μ ννν νλ€.
[1,[2,[3,[4]]]].flat(1); // [1,2,[3,[4]]]
μΈμλ‘ μ λ¬λ κ°λ€μ μλ³Έ λ°°μ΄μ λ§μ§λ§ μμλ‘ μΆκ°ν μλ‘μ΄ λ°°μ΄μ λ°ννλ€.
λ°νκ°μ λ°λμ λ³μμ ν λΉλ°μμΌ νλ€.
μ λ¬ κ°μ΄ λ°°μ΄μΈ κ²½μ° λ°°μ΄μ ν΄μ²΄νμ¬ μλ‘μ΄ λ°°μ΄μ μμλ‘ μΆκ°νλ€.
pushμ unshiftλ₯Ό λμ ν μ μλ€.
// arr1.unshift(1,2)
let result = [1,2].concat(arr1);
// arr1.push(5,6)
result = result.concat(5,6);
concat λ©μλλ μ€νλ λ λ¬Έλ²μΌλ‘ λ체ν μ μλ€.
let result = [1,2].concat([3,4]);
result = [...[1,2], ...[3,4])
π΄ κ²°λ‘ μ μΌλ‘ push/unshift λλ concat 보λ€λ μ€νλ λ λ¬Έλ²μ μΌκ΄μ± μκ² μ¬μ©νλ κ²μ΄ μ’λ€.
μΈμλ‘ μ λ¬ λ λ²μμ μμλ€μ 볡μ¬νμ¬ μλ‘μ΄ λ°°μ΄λ‘ λ°ν.
arr.slice(start, end);
start
: 볡μ¬λ₯Ό μμν μΈλ±μ€. μμμΈ κ²½μ° λ°°μ΄μ λμμμ μΈλ±μ€.end
: 볡μ¬λ₯Ό μ’
λ£ν μΈλ±μ€. μΈλ±μ€μ ν΄λ€νλ μμλ 볡μ¬λμ§ μλλ€. μλ΅ κ°λ₯νλ©° κΈ°λ³Έκ°μ length νλ‘νΌν° κ°μ΄λ€.π΄ endλ₯Ό μλ΅νλ©΄ startλ‘ μ λ¬λ°μ μΈλ±μ€λΆν° λͺ¨λ μμλ₯Ό 볡μ¬νμ¬ λ°°μ΄λ‘ λ°ννλ€.
π΄ μΈμλ₯Ό λͺ¨λ μλ΅νλ©΄ μλ³Έ λ°°μ΄μ 볡μ¬λ³Έμ μμ±νμ¬ λ°ννλ€. μ΄λ μμ 볡μ¬κ° μΌμ΄λλ€.
μλ³Έ λ°°μ΄μ λͺ¨λ μμλ₯Ό λ¬Έμμ΄λ‘ λ³νν ν, ꡬλΆμλ‘ μ°κ²°ν λ¬Έμμ΄μ λ°ννλ€.
const arr = [1,2,3,4];
arr.join(); // '1,2,3,4' κΈ°λ³Έκ° μ½€λ§
arr.join(''); // '1234'
arr.join('!'); // '1!2!3!4'
ν¨μλ₯Ό μΈμλ‘ μ λ¬λ°κ±°λ ν¨μλ₯Ό λ°ννλ ν¨μ.
λ°°μ΄μ μμλ₯Ό μ λ ¬νλ€. μλ³Έ λ°°μ΄μ μ§μ λ³κ²½νλ©° μ λ ¬λ λ°°μ΄μ λ°ννλ€.
κ·Έ λ¬Έμ λ‘, λ¬Έμμ΄ '2'μ '10'μ μ λ ¬νλ©΄ ['10', '2']
μ κ°μ΄ μ λ ¬λλ€.
λν sort λ©μλλ λ°°μ΄μ μμλ₯Ό μΌμμ μΌλ‘ λ¬Έμμ΄λ‘ λ³νν ν μ λ ¬νλ―λ‘ μ«μ 2, 10μ μ λ ¬ν΄λ [10, 2]
μ κ°μ΄ μ λ ¬ λλ€.
π΅ λ°λΌμ μ«μ μμλ₯Ό μ λ ¬ν λλ μ λ ¬ μμλ₯Ό λΉκ΅νλ λΉκ΅ ν¨μλ₯Ό μΈμλ‘ μ λ¬ν΄μΌ νλ€.
const points = [40, 100, 1, 5, 2, 25, 10];
// μ€λ¦μ°¨μ μ λ ¬.
points.sort((a,b)=>a-b);
// λ΄λ¦Όμ°¨μ μ λ ¬
points.sort((a,b)=>b-a);
μμ μ νΈμΆν λ°°μ΄μ μννλ©΄μ μνν΄μΌ ν μ²λ¦¬λ₯Ό μ½λ°± ν¨μλ‘ μ λ¬ λ°μ λ°λ³΅ νΈμΆνλ€. μλ³Έ λ°°μ΄μ λ³κ²½νμ§ μμΌλ©° μΈμ λ undefinedλ₯Ό λ°ννλ€.
쑰건문μ΄λ λ°λ³΅λ¬Έμ λ‘μ§μ νλ¦μ μ΄ν΄νκΈ° μ΄λ ΅κ² νλ€. μ΄λ forλ¬Έμ λ체ν μ μλ κ² forEach κ³ μ°¨ν¨μλ€.
const numbers = [1,2,3];
const pows=[];
numbers.forEach(item => pows.push(item**2));
console.log(pows) // [1, 4, 9]
π΅ forEach λ©μλλ μλ³Έ λ°°μ΄μ λ³κ²½νμ§ μμΌλ μ½λ°± ν¨μλ₯Ό ν΅ν΄ λ³κ²½ν μ μλ€.
π΅ forEach λ©μλμ λ λ²μ§Έ μΈμλ‘ forEach λ©μλ μ½λ°± ν¨μ λ΄λΆμμ thisλ‘ μ¬μ©ν κ°μ²΄λ₯Ό μ λ¬ν μ μλ€. ν΄λμ€ λ΄λΆμ μλ κ²½μ° ν΄λμ€ λ΄λΆμ λͺ¨λ μ½λλ μ묡μ μΌλ‘ strict modeκ° μ μ©λκΈ° λλ¬Έμ, thisκ° μ μ κ°μ²΄κ° μλ undefinedλ₯Ό κ°λ¦¬ν¨λ€. λ°λΌμ λ λ²μ§Έ μΈμλ‘ ν΄λμ€μ thisλ₯Ό μ§μ ν΄μ£Όμ΄μΌ νλ€.
π checkpoint# strict mode?
μλ‘μ΄ κΈ°λ₯μ΄ μΆκ° λ ES5 μ΄ν κΈ°μ‘΄ κΈ°λ₯ μ€ μΌλΆκ° λ³κ²½λμ΄, νμ νΈνμ± λ¬Έμ κ° μκΈ°μ§ μλλ‘ ES5 κΈ°λ³Έλͺ¨λμμ λ³κ²½ μ¬νμ΄ νμ±ν λμ§ μλλ‘ νλ μ§μμ.
π μ격 λͺ¨λλ?
!!νμ§λ§!!
π΄ λ λμ λ°©λ²μ νμ΄ν ν¨μλ₯Ό μ¬μ©νλ κ²μ΄λ€. νμ΄ν ν¨μλ ν¨μ μ체μ this λ°μΈλ©μ κ°μ§ μκΈ° λλ¬Έμ νμ΄ν ν¨μ λ΄λΆμμ thisλ₯Ό μ°Έμ‘°νλ©΄ μμ μ€μ½νμ thisλ₯Ό κ·Έλλ‘ μ°Έμ‘°νλ€.
class Numbers {
numberArray = [];
multiply(arr) {
arr.forEach((item) => {this.numberArray.push(item*item));
}
}
π΅ forEach λ©μλλ break, continue λ¬Έμ μ¬μ©ν μ μλ€.
π΅ ν¬μ λ°°μ΄μ κ²½μ° μ‘΄μ¬νμ§ μλ μμλ μν λμμμ μ μΈλλ€. map, filter, reduce λ©μλ λ±μμλ λ§μ°¬κ°μ§λ€.
π΄ forEach λ©μλλ forλ¬Έμ λΉν΄ μ±λ₯μ΄ μ’μ§λ μμ§λ§ κ°λ μ±μ λ μ’λ€. λμ μ±λ₯μ΄ νμν κ²½μ°κ° μλλΌλ©΄ forEachλ₯Ό κΆμ₯νλ€.
μμ μ νΈμΆν λ°°μ΄μ λͺ¨λ μμλ₯Ό μννλ©΄μ μΈμλ‘ μ λ¬λ°μ μ½λ°± ν¨μλ₯Ό λ°λ³΅ νΈμΆνλ€.
κ·Έλ¦¬κ³ μ½λ°± ν¨μμ λ°νκ°λ€λ‘ ꡬμ±λ μλ‘μ΄ λ°°μ΄μ λ°ννλ€.
μ΄λ μλ³Έ λ°°μ΄μ λ³κ²½λμ§ μλλ€.
- forEach λ©μλλ λ¨μν λ°λ³΅λ¬Έμ λ체νκΈ° μν κ³ μ°¨ ν¨μμ΄κ³ ,
- map λ©μλλ μμκ°μ λ€λ₯Έ κ°μΌλ‘ 맀νν μλ‘μ΄ λ°°μ΄μ μμ±νκΈ° μν κ³ μ°¨ ν¨μλ€.
map λ©μλλ μ½λ°± ν¨μλ₯Ό νΈμΆνλ©΄μ (μμκ°, μΈλ±μ€, this)μ μΈμλ₯Ό μ λ¬νλ€.
arr.map((item, index, arr) => {
Math.sqrt(item);
});
μμ μ νΈμΆν λ°°μ΄μ λͺ¨λ μμλ₯Ό μννλ©΄μ μ½λ°± ν¨μμ λ°νκ°μ΄ trueμΈ μμλ‘λ§ κ΅¬μ±λ μλ‘μ΄ λ°°μ΄μ λ°ννλ€.
filter(item, index, arr)
findById(id){
obj.filter(item => item.id === id);
}
λ°°μ΄μ λͺ¨λ μμλ₯Ό μννλ©° μ½λ°± ν¨μμ λ°νκ°μ λ€μ μν μμ μ½λ°± ν¨μμ 첫 λ²μ§Έ μΈμλ‘ μ λ¬ν λ€,
κ²°κ³Όμ μΌλ‘ νλμ κ²°κ³Όκ°μ λ§λ€μ΄ λ°ννλ€.
μ΄λ μλ³Έ λ°°μ΄μ λ³κ²½λμ§ μλλ€.
arr.reduce(callback, initial)
callback(initial(or μ΄μ κ°), item, index, arr)
π΄ reduce λ©μλλ₯Ό νΈμΆν λλ μΈμ λ μ΄κΈ°κ°μ μ λ¬νλ κ²μ΄ μμ νλ€.
π΄ κ°μ²΄μ νΉμ νλ‘νΌν° κ°μ ν©μ°νλ κ²½μ°μλ λ°λμ μ΄κΈ°κ°μ μ λ¬ν΄μΌ νλ€.
μμ μ νΈμΆν λ°°μ΄μ μμλ₯Ό μννλ©΄μ μ½λ°± ν¨μμ λ°νκ°μ΄ λ¨ ν λ²μ΄λΌλ μ°Έμ΄λ©΄ true, λͺ¨λ κ±°μ§μ΄λ©΄ faleλ₯Ό λ°ννλ€.
λ¨ νλλΌλ trueκ° λ°νλλ©΄ λ°λ³΅μ μ€μ§νλ€.
arr.some(item => item>10);
λ©μλλ₯Ό νΈμΆν λ°°μ΄μ΄ λΉ λ°°μ΄μΈ κ²½μ° μΈμ λ falseλ₯Ό λ°ννλ€.
μμ μ νΈμΆν λ°°μ΄μ μμλ₯Ό μννλ©΄μ μ½λ°± ν¨μμ λ°νκ°μ΄ λͺ¨λ μ°Έμ΄λ©΄ true, λ¨ ν λ²μ΄λΌλ κ±°μ§μ΄λ©΄ falseλ₯Ό λ°ννλ€.
μμ μ νΈμΆν λ°°μ΄μ μμλ₯Ό μννλ©΄μ μ½λ°± ν¨μμ λ°νκ°μ΄ trueμΈ μ²« λ²μ§Έ μμλ₯Ό λ°ννλ€. μμκ° μ‘΄μ¬νμ§ μμΌλ©΄ undefinedλ₯Ό λ°ννλ€.
μμ μ νΈμΆν λ°°μ΄μ μμλ₯Ό μννλ©΄μ μ½λ°± ν¨μμ λ°νκ°μ΄ trueμΈ μ²« λ²μ§Έ μμμ μΈλ±μ€λ₯Ό λ°ννλ€. μ‘΄μ¬νμ§ μλλ€λ©΄ -1μ λ°ννλ€.
map λ©μλλ₯Ό ν΅ν΄ μμ±λ μλ‘μ΄ λ°°μ΄μ ννννλ€.
μ¦ map λ©μλμ flat λ©μλλ₯Ό μμ°¨μ μΌλ‘ μ€ννλ ν¨κ³Όκ° μλ€.
const arr = ['hello', 'world'];
arr.map(x => x.split('')).flat();
arr.flatMap(x => split(''));
λ°°μ΄
for ~ in
: μΈλ±μ€λ₯Ό λ°νfor ~ of
: μμλ₯Ό λ°νκ°μ²΄
for ~ in
: ν€λ₯Ό λ°νfor ~ of
: κ°μ²΄λ μ΄ν°λ¬λΈμ΄ μλλΌ μ¬μ© λΆκ°.