[JS] π μλ°μ€ν¬λ¦½νΈ Array λ©μλ π― μ΄μ 리
μλ°μ€ν¬λ¦½νΈ Array λ©μλ
λ°°μ΄ λ¦¬ν°λ΄
const arr = [
'zero', 'one', 'two', 'three', 'four',
'five', 'six', 'seven', 'eight', 'nine'
];
β
λ°°μ΄ μμ±μ
const arr = new Array(1, 2, 3);
const arr2 = new Array(20); // μΈμ νλλ§ λ겨μ€λλ κ·Έ μΈμκ° λ°°μ΄κΈΈμ΄
arr2.length // 20
λ°°μ΄ Method
- ββοΈ λ©μλλ this(μλ³Έ λ°°μ΄)λ₯Ό λ³κ²½νλ€.
- π λ©μλλ this(μλ³Έ λ°°μ΄)λ₯Ό λ³κ²½νμ§ μλλ€.
Array.isArray(arg) : boolean
μ μ λ©μλ Array.isArrayλ μ£Όμ΄μ§ μΈμκ° λ°°μ΄μ΄λ©΄ true, λ°°μ΄μ΄ μλλ©΄ falseλ₯Ό λ°ννλ€.
β
Array.from
ES6μμ μλ‘κ² λμ λ Array.from λ©μλλ νΉμ κ°μ²΄λ₯Ό λ³ννμ¬ μλ‘μ΄ λ°°μ΄μ μμ±νλ€.
λ³ν ν μ μλ νΉμ ν κ°μ²΄λ λ€μκ³Ό κ°λ€.
- μ μ¬λ°°μ΄ κ°μ²΄(array-like objects) : length νλ‘νΌν°μ μΈλ±μ€ λ μμλ₯Ό κ°μ§κ³ μλ κ°μ²΄
- μ΄ν°λ¬λΈ κ°μ²΄ (iterable objects) : Mapκ³Ό Set κ°μ²΄ λ° λ¬Έμμ΄κ³Ό κ°μ΄ ν΄λΉ μμλ₯Ό κ°λ³μ μΌλ‘ μ νν μ μλ κ°μ²΄
// λ¬Έμμ΄μ μ΄ν°λ¬λΈμ΄λ€.
const arr1 = Array.from('Hello');
console.log(arr1); // [ 'H', 'e', 'l', 'l', 'o' ]
// μ μ¬ λ°°μ΄ κ°μ²΄λ₯Ό μλ‘μ΄ λ°°μ΄μ λ³ννμ¬ λ°ννλ€.
const arr2 = Array.from({ length: 2, 0: 'a', 1: 'b' });
console.log(arr2); // [ 'a', 'b' ]
// Array.fromμ λλ²μ§Έ 맀κ°λ³μμκ² λ°°μ΄μ λͺ¨λ μμμ λν΄ νΈμΆν ν¨μλ₯Ό μ λ¬ν μ μλ€.
// μ΄ ν¨μλ 첫λ²μ§Έ 맀κ°λ³μμκ² μ λ¬λ μΈμλ‘ μμ±λ λ°°μ΄μ λͺ¨λ μμλ₯Ό μΈμλ‘ μ λ¬λ°μ νΈμΆλλ€.
const arr3 = Array.from({ length: 5 }, function (v, i) { return i; });
console.log(arr3); // [ 0, 1, 2, 3, 4 ]
β
Array.of
ES6μμ μλ‘κ² λμ λ Array.of λ©μλλ μ λ¬λ μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄μ μμ±νλ€.
Array.ofλ Array μμ±μ ν¨μμ λ€λ₯΄κ² μ λ¬λ μΈμκ° 1κ°μ΄κ³ μ«μμ΄λλΌλ μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄μ μμ±νλ€.
// μ λ¬λ μΈμκ° 1κ°μ΄κ³ μ«μμ΄λλΌλ μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄μ μμ±νλ€.
const arr1 = Array.of(1);
console.log(arr1); // // [1]
const arr2 = Array.of(1, 2, 3);
console.log(arr2); // [1, 2, 3]
const arr3 = Array.of('string');
console.log(arr3); // 'string'
β
βοΈ Array.fill(value, start, end)
λ°°μ΄μ μμ μΈλ±μ€λΆν° λ μΈλ±μ€ μ΄μ (λ μΈλ±μ€ μκΈ°μμ μ λ―Έν¬ν¨) κΉμ§ νλμ κ°μΌλ‘ μ±μμ£Όλ λ©μλμ΄λ€.
μλ³Έλ°°μ΄μ μ§μ λ³κ²½νλ©°, 리ν΄κ°μ λ³νν λ°°μ΄μ΄λ€.
- value : λ°°μ΄μ μ±μΈ κ°.
- start : μμμΈλ±μ€, κΈ°λ³Έκ° 0. μ΅μ
- end : λμΈλ±μ€, κΈ°λ³Έκ° arr.length. μ΅μ
// κΈΈμ΄κ° 6μ΄κ³ λ°°μ΄μ μμκ° λͺ¨λ 0μΈ λ°°μ΄μ λ§λ€κΈ°
// 리ν°λ΄ λ°©λ²
const zeroArray = [0, 0, 0, 0, 0, 0];
// fill()λ©μλ λ°©λ²
const zeroArray2 = Array(6).fill(0);
console.log(nullArray); // [0, 0, 0, 0, 0, 0]
[1, 2, 3].fill(4) // [4, 4, 4] λͺ¨λ 4λ‘ μ±λ£Έ
[1, 2, 3].fill(4, 1) // [1, 4, 4] 1λ²μ§Έ μΈλ±μ€ λΆν° μ 4λ‘ μ±μ
[1, 2, 3].fill(4, 1, 2) // [1, 4, 3] 1λ²μ§Έμμ 2λ²μ§Έ μΈλ±μ€ μ κΉμ§ 4λ‘ μ±μ
// fill ()μ μ¬μ©νμ¬ λͺ¨λ 1μ νλ ¬(2μ°¨μ λ°°μ΄) λ§λ€κΈ°
const arr = new Array(3);
for (let i=0; i<arr.length; i++) {
arr[i] = new Array(4).fill(1); // ν¬κΈ°κ° 4μ΄κ³ 1λ‘ μ±μμ§ λ°°μ΄ μμ±
}
console.log(arr[0][0]); // 1
console.log(arr[1][0]); // 1
console.log(arr[2][0]); // 1
π Array.prototype.indexOf(searchElement, fromIndex) : number
μλ³Έ λ°°μ΄μμ μΈμλ‘ μ λ¬λ μμλ₯Ό κ²μνμ¬ μΈλ±μ€λ₯Ό λ°ννλ€.
- μ€λ³΅λλ μμκ° μλ κ²½μ°, 첫λ²μ§Έ μΈλ±μ€λ₯Ό λ°ννλ€.
- ν΄λΉνλ μμκ° μλ κ²½μ°, -1μ λ°ννλ€.
βλλ²μ§Έ μΈμλ κ²μμ μμν μΈλ±μ€μ΄λ€. λλ²μ§Έ μΈμλ₯Ό μλ΅νλ©΄ μ²μλΆν° κ²μνλ€.
indexOf λ©μλλ λ°°μ΄μ μμκ° μ‘΄μ¬νλμ§ μ¬λΆλ₯Ό νμΈν λ μ μ©νλ€.
const foods = ['apple', 'banana', 'orange'];
// foods λ°°μ΄μ 'orange' μμκ° μ‘΄μ¬νλμ§ νμΈ
if (foods.indexOf('orange') === -1) { // == if (!foods.includes('orange')) { }
foods.push('orange');
}
console.log(foods); // ["apple", "banana", "orange"]
β
π Array.prototype.concat(…items) : T[]
μΈμλ‘ μ λ¬λ κ°λ€(λ°°μ΄ λλ κ°)μ μλ³Έ λ°°μ΄μ λ§μ§λ§ μμλ‘ μΆκ°ν μλ‘μ΄ λ°°μ΄μ λ°ννλ€.
μΈμλ‘ μ λ¬ν κ°μ΄ λ°°μ΄μΈ κ²½μ°, λ°°μ΄μ ν΄μ²΄νμ¬ μλ‘μ΄ λ°°μ΄μ μμλ‘ μΆκ°νλ€.
μλ³Έ λ°°μ΄μ λ³κ²½λμ§ μλλ€.
const arr1 = [1, 2];
const arr2 = [3, 4];
// λ°°μ΄ arr2λ₯Ό μλ³Έ λ°°μ΄ arr1μ λ§μ§λ§ μμλ‘ μΆκ°ν μλ‘μ΄ λ°°μ΄μ λ°ν
// μΈμλ‘ μ λ¬ν κ°μ΄ λ°°μ΄μΈ κ²½μ°, λ°°μ΄μ ν΄μ²΄νμ¬ μλ‘μ΄ λ°°μ΄μ μμλ‘ μΆκ°νλ€.
let result = arr1.concat(arr2);
console.log(result); // [1, 2, 3, 4]
// μ«μλ₯Ό μλ³Έ λ°°μ΄ arr1μ λ§μ§λ§ μμλ‘ μΆκ°ν μλ‘μ΄ λ°°μ΄μ λ°ν
result = arr1.concat(3);
console.log(result); // [1, 2, 3]
// λ°°μ΄ arr2μ μ«μλ₯Ό μλ³Έ λ°°μ΄ arr1μ λ§μ§λ§ μμλ‘ μΆκ°ν μλ‘μ΄ λ°°μ΄μ λ°ν
result = arr1.concat(arr2, 5);
console.log(result); // [1, 2, 3, 4, 5]
// μλ³Έ λ°°μ΄μ λ³κ²½λμ§ μλλ€.
console.log(arr1); // [1, 2]
β
π Array.prototype.join(separator) : string
μλ³Έ λ°°μ΄μ λͺ¨λ μμλ₯Ό λ¬Έμμ΄λ‘ λ³νν ν, μΈμλ‘ μ λ¬λ°μ κ°, μ¦ κ΅¬λΆμ(separator)λ‘ μ°κ²°ν λ¬Έμμ΄μ λ°ννλ€.
ꡬλΆμ(separator)λ μλ΅ κ°λ₯νλ©° κΈ°λ³Έ ꡬλΆμλ ,μ΄λ€.
const arr = [1, 2, 3, 4];
// κΈ°λ³Έ ꡬλΆμλ ','μ΄λ€.
// μλ³Έ λ°°μ΄ arrμ λͺ¨λ μμλ₯Ό λ¬Έμμ΄λ‘ λ³νν ν, κΈ°λ³Έ ꡬλΆμ ','λ‘ μ°κ²°ν λ¬Έμμ΄μ λ°ν
let result = arr.join();
console.log(result); // '1,2,3,4';
// μλ³Έ λ°°μ΄ arrμ λͺ¨λ μμλ₯Ό λ¬Έμμ΄λ‘ λ³νν ν, λΉλ¬Έμμ΄λ‘ μ°κ²°ν λ¬Έμμ΄μ λ°ν
result = arr.join('');
console.log(result); // '1234'
// μλ³Έ λ°°μ΄ arrμ λͺ¨λ μμλ₯Ό λ¬Έμμ΄λ‘ λ³νν ν, ꡬλΆμ ':'λ‘ μ°κ²°ν λ¬Έμμ΄μ λ°ν
result = arr.join(':');
console.log(result); // '1:2:3:4'
β
βοΈ Array.prototype.push(…items) : number
μΈμλ‘ μ λ¬λ°μ λͺ¨λ κ°μ μλ³Έ λ°°μ΄μ λ§μ§λ§μ μμλ‘ μΆκ°νκ³ λ³κ²½λ length κ°μ λ°ννλ€.
β
π‘ push λ©μλμ concat λ©μλλ μ μ¬νκ² λμνμ§λ§ λ―Έλ¬ν μ°¨μ΄κ° μλ€.
- push λ©μλλ μλ³Έ λ°°μ΄μ μ§μ λ³κ²½νμ§λ§,
- concat λ©μλλ μλ³Έ λ°°μ΄μ λ³κ²½νμ§ μκ³ μλ‘μ΄ λ°°μ΄μ λ°ννλ€.
const arr1 = [1, 2];
// push λ©μλλ μλ³Έ λ°°μ΄μ μ§μ λ³κ²½νλ€.
arr1.push(3, 4);
console.log(arr1); // [1, 2, 3, 4]
const arr2 = [1, 2];
// concat λ©μλλ μλ³Έ λ°°μ΄μ λ³κ²½νμ§ μκ³ μλ‘μ΄ λ°°μ΄μ λ°ννλ€.
const result = arr2.concat(3, 4);
console.log(result); // [1, 2, 3, 4]
π‘ μΈμλ‘ μ λ¬λ°μ κ°μ΄ λ°°μ΄μΈ κ²½μ°,
- push λ©μλλ λ°°μ΄μ κ·Έλλ‘ μλ³Έ λ°°μ΄μ λ§μ§λ§ μμλ‘ μΆκ°νμ§λ§
- concat λ©μλλ λ°°μ΄μ ν΄μ²΄νμ¬ μλ‘μ΄ λ°°μ΄μ λ§μ§λ§ μμλ‘ μΆκ°νλ€.
const arr1 = [1, 2];
// μΈμλ‘ μ λ¬λ°μ λ°°μ΄μ κ·Έλλ‘ μλ³Έ λ°°μ΄μ λ§μ§λ§ μμλ‘ μΆκ°νλ€
arr1.push([3, 4]);
console.log(arr1); // [1, 2, [3, 4]]
const arr2 = [1, 2];
// μΈμλ‘ μ λ¬λ°μ λ°°μ΄μ ν΄μ²΄νμ¬ μλ‘μ΄ λ°°μ΄μ λ§μ§λ§ μμλ‘ μΆκ°νλ€
const result = arr2.concat([3, 4]);
console.log(result); // [1, 2, 3, 4]
β
π‘ push λ©μλλ μ±λ₯λ©΄μμ μ’μ§ μλ€.
push λ©μλλ λ°°μ΄μ λ§μ§λ§μ μμλ₯Ό μΆκ°νλ―λ‘ length νλ‘νΌν°λ₯Ό μ¬μ©νμ¬ μ§μ μμλ₯Ό μΆκ°ν μλ μλ€.
μ΄ λ°©λ²μ΄ push λ©μλλ³΄λ€ λΉ λ₯΄λ€.
const arr = [1, 2];
// arr.push(3)μ λμΌν μ²λ¦¬λ₯Ό νλ€. μ΄ λ°©λ²μ΄ push λ©μλλ³΄λ€ λΉ λ₯΄λ€.
arr[arr.length] = 3;
console.log(arr); // [1, 2, 3]
β
π‘ push λ©μλλ μλ³Έ λ°°μ΄μ μ§μ λ³κ²½νλ λΆμ ν¨κ³Όκ° μλ€. λ°λΌμ push λ©μλ보λ€λ ES6μ spread λ¬Έλ²(μ κ°μ°μ°μ)μ μ¬μ©νλ νΈμ΄ μ’λ€.
const arr = [1, 2];
// ES6 spread λ¬Έλ²
const newArr = [...arr, 3];
// arr.push(3);
console.log(newArr); // [1, 2, 3]
β
βοΈ Array.prototype.pop() : T | undefined
μλ³Έ λ°°μ΄μμ λ§μ§λ§ μμλ₯Ό μ κ±°νκ³ μ κ±°ν μμλ₯Ό λ°ννλ€.
μλ³Έ λ°°μ΄μ΄ λΉ λ°°μ΄μ΄λ©΄ undefinedλ₯Ό λ°ννλ€.
pop λ©μλλ μλ³Έ λ°°μ΄μ μ§μ λ³κ²½νλ€.
const a = ['a', 'b', 'c'];
const c = a.pop();
// μλ³Έ λ°°μ΄μ΄ λ³κ²½λλ€.
console.log(a); // a --> ['a', 'b']
console.log(c); // c --> 'c'
β
βοΈ Array.prototype.shift() : T | undefined
λ°°μ΄μμ 첫μμλ₯Ό μ κ±°νκ³ μ κ±°ν μμλ₯Ό λ°ννλ€.
λ§μ½ λΉ λ°°μ΄μΌ κ²½μ° undefinedλ₯Ό λ°ννλ€. shift λ©μλλ λμ λ°°μ΄ μ체λ₯Ό λ³κ²½νλ€.
β
π₯ shiftλ pushμ ν¨κ» λ°°μ΄μ ν(FIFO: First In First Out)μ²λΌ λμνκ² νλ€.
const arr = [];
arr.push(1); // [1]
arr.push(2); // [1, 2]
arr.push(3); // [1, 2, 3]
arr.shift(); // [2, 3]
arr.shift(); // [3]
arr.shift(); // []
β
βοΈ Array.prototype.reverse() : this
λ°°μ΄ μμμ μμλ₯Ό λ°λλ‘ λ³κ²½νλ€.
μ΄λ μλ³Έ λ°°μ΄μ΄ λ³κ²½λλ€. λ°νκ°μ λ³κ²½λ λ°°μ΄μ΄λ€.
β
β
π Array.prototype.slice(start, end) : T[]
μΈμλ‘ μ§μ λ λ°°μ΄μ λΆλΆμ 볡μ¬νμ¬ λ°ννλ€.
μλ³Έ λ°°μ΄μ λ³κ²½λμ§ μλλ€.
- start : 볡μ¬λ₯Ό μμν μΈν μ€. μμμΈ κ²½μ° λ°°μ΄μ λμμμ μΈλ±μ€λ₯Ό λνλΈλ€. μλ₯Ό λ€μ΄ slice(-2)λ λ°°μ΄μ λ§μ§λ§ 2κ°μ μμλ₯Ό λ°ννλ€.
- end : μ΅μ μ΄λ©° κΈ°λ³Έκ°μ length κ°μ΄λ€.
const items = ['a', 'b', 'c'];
// items[0]λΆν° items[1] μ΄μ (items[1] λ―Έν¬ν¨)κΉμ§ λ°ν
let res = items.slice(0, 1);
console.log(res); // [ 'a' ]
// items[1]λΆν° items[2] μ΄μ (items[2] λ―Έν¬ν¨)κΉμ§ λ°ν
res = items.slice(1, 2);
console.log(res); // [ 'b' ]
// items[1]λΆν° μ΄νμ λͺ¨λ μμ λ°ν
res = items.slice(1);
console.log(res); // [ 'b', 'c' ]
// μΈμκ° μμμΈ κ²½μ° λ°°μ΄μ λμμ μμλ₯Ό λ°ν
res = items.slice(-1);
console.log(res); // [ 'c' ]
res = items.slice(-2);
console.log(res); // [ 'b', 'c' ]
// λͺ¨λ μμλ₯Ό λ°ν (= 볡μ¬λ³Έ(shallow copy) μμ±)
res = items.slice();
console.log(res); // [ 'a', 'b', 'c' ]
β
β
π‘ slice λ©μλμ μΈμλ₯Ό μ λ¬νμ§ μμΌλ©΄ μλ³Έ λ°°μ΄μ 볡μ¬λ³Έμ μμ±νμ¬ λ°ννλ€. μ΄λ μλ³Έ λ°°μ΄μ κ° μμλ₯Ό μμ 볡μ¬(shallow copy)νμ¬ μλ‘μ΄ λ³΅μ¬λ³Έμ μμ±νλ€.
const todos = [
{ id: 1, content: 'HTML', completed: false },
{ id: 2, content: 'CSS', completed: true },
{ id: 3, content: 'Javascript', completed: false }
];
// shallow copy
const _todos = todos.slice();
// const _todos = [...todos];
console.log(_todos === todos); // false
// λ°°μ΄μ μμλ κ°λ€. μ¦, μμ 볡μ¬λμλ€.
console.log(_todos[0] === todos[0]); // true
β
π‘ μ΄λ₯Ό μ΄μ©νμ¬ arguments, HTMLCollection, NodeListμ κ°μ μ μ¬ λ°°μ΄ κ°μ²΄(Array-like Object)λ₯Ό λ°°μ΄λ‘ λ³νν μ μλ€.
function sum() {
// μ μ¬ λ°°μ΄ κ°μ²΄ => Array
const arr = Array.prototype.slice.call(arguments); // [1, 2, 3]
const arr0 = [].slice.call(arguments); // [1, 2, 3]
// Spread λ¬Έλ²
const arr1 = [...arguments]; // [1, 2, 3]
// Array.from λ©μλλ μ μ¬ λ°°μ΄ κ°μ²΄λ₯Ό 볡μ¬νμ¬ λ°°μ΄μ μμ±νλ€.
const arr2 = Array.from(arguments); // [1, 2, 3]
}
console.log(sum(1, 2, 3));
β
βοΈ Array.prototype.splice(start, deleteCount, …items) : T[]
- start : λ°°μ΄μμμ μμ μμΉ μΈλ±μ€ μ΄λ€. start λ§μ μ§μ νλ©΄ λ°°μ΄μ startλΆν° λͺ¨λ μμλ₯Ό μ κ±°νλ€.
- deleteCount : μμ μμΉ(start)λΆν° μ κ±°ν μμμ μμ΄λ€. deleteCountκ° 0μΈ κ²½μ°, μλ¬΄λ° μμλ μ κ±°λμ§ μλλ€. (μ΅μ )
- items : μμ ν μμΉμ μΆκ°λ μμλ€μ΄λ€. λ§μ½ μλ¬΄λ° μμλ μ§μ νμ§ μμ κ²½μ°, μμ λ§ νλ€. (μ΅μ )
μ΄ 3κ°μ§μ κΈ°λ₯μΌλ‘ μ¬μ©λ μ μλ€.
1) λ°°μ΄ μμ μΆκ° (μμ μνκ³ μΆκ°)
2) λ°°μ΄ μμ κ΅μ²΄ (μμ νκ³ μΆκ°)
3) λ°°μ΄ μμ μμ (μΆκ° μνκ³ μμ )
- λ°νκ°μ μμ ν μμλ€μ κ°μ§ λ°°μ΄μ΄λ€.
β
π‘ μ΄ λ©μλμ κ°μ₯ μΌλ°μ μΈ μ¬μ©μ λ°°μ΄μμ μμλ₯Ό μμ ν λλ€.
const items1 = [1, 2, 3, 4];
// items[1]λΆν° 2κ°μ μμλ₯Ό μ κ±°νκ³ μ κ±°λ μμλ₯Ό λ°°μ΄λ‘ λ°ν
const res1 = items1.splice(1, 2);
// μλ³Έ λ°°μ΄μ΄ λ³κ²½λλ€.
console.log(items1); // [ 1, 4 ]
// μ κ±°ν μμκ° λ°°μ΄λ‘ λ°νλλ€.
console.log(res1); // [ 2, 3 ]
// -------------------------------------------
const items2 = [1, 2, 3, 4];
// items[1]λΆν° λͺ¨λ μμλ₯Ό μ κ±°νκ³ μ κ±°λ μμλ₯Ό λ°°μ΄λ‘ λ°ν
const res2 = items2.splice(1);
// μλ³Έ λ°°μ΄μ΄ λ³κ²½λλ€.
console.log(items2); // [ 1 ]
// μ κ±°ν μμκ° λ°°μ΄λ‘ λ°νλλ€.
console.log(res2); // [ 2, 3, 4 ]
β
β
π‘ λ°°μ΄μμ μμλ₯Ό μ κ±°νκ³ μ κ±°ν μμΉμ λ€λ₯Έ μμλ₯Ό μΆκ°νλ€. (κ΅μ²΄)
const items = [1, 2, 3, 4];
// items[1]λΆν° 2κ°μ μμλ₯Ό μ κ±°νκ³ κ·Έμ리μ μλ‘μ΄ μμλ₯Ό μΆκ°νλ€. μ κ±°λ μμκ° λ°νλλ€.
const res = items.splice(1, 2, 20, 30);
// μλ³Έ λ°°μ΄μ΄ λ³κ²½λλ€.
console.log(items); // [ 1, 20, 30, 4 ]
// μ κ±°ν μμκ° λ°°μ΄λ‘ λ°νλλ€.
console.log(res); // [ 2, 3 ]
β
β
π‘ λ°°μ΄ μ€κ°μ μλ‘μ΄ μμλ₯Ό μΆκ°ν λλ μ¬μ©λλ€. (0κ°λ₯Ό μμ )
const items = [1, 2, 3, 4];
// items[1]λΆν° 0κ°μ μμλ₯Ό μ κ±°νκ³ κ·Έμ리(items[1])μ μλ‘μ΄ μμλ₯Ό μΆκ°νλ€. μ κ±°λ μμκ° λ°νλλ€.
const res = items.splice(1, 0, 100);
// μλ³Έ λ°°μ΄μ΄ λ³κ²½λλ€.
console.log(items); // [ 1, 100, 2, 3, 4 ]
// μ κ±°ν μμκ° λ°°μ΄λ‘ λ°νλλ€.
console.log(res); // [ ]
β
π‘ λ°°μ΄ μ€κ°μ λ°°μ΄μ μΆκ°ν λλ μ¬μ©λλ€.
const items = [1, 4];
const items2 = [2, 3];
// μλ³Έλ°°μ΄ itemλ₯Ό μκ·λ¨ΌνΈ μΈμλ‘ items2λ₯Ό λ°μμ,
// items[1]λΆν° 0κ°μ μμλ₯Ό μ κ±°νκ³ κ·Έμ리(items[1])μ μλ‘μ΄ λ°°μ΄λ₯Ό μΆκ°νλ€.
// μ΄λ κ² νλ©΄ μκ·λ¨ΌνΈκ° 2μ°¨μννκ° λμ΄λ²λ¦°λ€. ( 1, [ 2, 3 ], 4 )
items.splice(1, 0, items2);
// applyλ‘ itemsλ₯Ό μ£Όκ³ , [1, 0].concat([2, 3])μ κ²°κ³Ό μΈμ 1,0, 2,3μ μ£Όκ²λλ κΌ΄μ΄ λλ€.
Array.prototype.splice.apply(items, [1, 0].concat([2, 3]));
items.splice(1,0, 2,3)
// == [].splice.apply(items, [1, 0].concat([2, 3]));
// == items.splice(1, 0, ...items);
console.log(items); // [ 1, 2, 3, 4 ]
sliceλ λ°°μ΄μ μΌλΆλΆμ 볡μ¬ν΄μ λ°ννλ©° μλ³Έμ νΌμνμ§ μλλ€.
spliceλ λ°°μ΄μμ μμλ₯Ό μ κ±°νκ³ μ κ±°ν μμΉμ λ€λ₯Έ μμλ₯Ό μΆκ°νλ©° μλ³Έμ νΌμνλ€.
λ©μλ | μ€λͺ |
Array.isArray() | μ λ¬λ κ°μ΄ Array κ°μ²΄μΈμ§ μλμ§λ₯Ό κ²μ¬ν¨. |
Array.from() | λ°°μ΄κ³Ό λΉμ·ν κ°μ²΄μ λ°λ³΅ν μ μλ κ°μ²΄λ₯Ό λ°°μ΄μ²λΌ λ³νν¨. |
Array.of() | μΈμμ μλ νμ μ μκ΄μμ΄ μΈμλ‘ μ λ¬λ°μ κ°μ κ°μ§κ³ μλ‘μ΄ Array μΈμ€ν΄μ€λ₯Ό μμ±ν¨. |
νλ‘ν νμ
λ©μλ |
μ€λͺ |
push() | νλ μ΄μμ μμλ₯Ό λ°°μ΄μ κ°μ₯ λ§μ§λ§μ μΆκ°νκ³ , λ°°μ΄μ μ΄ κΈΈμ΄λ₯Ό λ°νν¨. |
pop() | λ°°μ΄μ κ°μ₯ λ§μ§λ§ μμλ₯Ό μ κ±°νκ³ , κ·Έ μ κ±°λ μμλ₯Ό λ°νν¨. |
shift() | λ°°μ΄μ κ°μ₯ 첫 μμλ₯Ό μ κ±°νκ³ , κ·Έ μ κ±°λ μμλ₯Ό λ°νν¨. |
unshift() | νλ μ΄μμ μμλ₯Ό λ°°μ΄μ κ°μ₯ μμ μΆκ°νκ³ , λ°°μ΄μ μ΄ κΈΈμ΄λ₯Ό λ°νν¨. |
reverse() | λ°°μ΄ μμμ μμλ₯Ό μ λΆ λ°λλ‘ κ΅μ²΄ν¨. |
sort() | ν΄λΉ λ°°μ΄μ λ°°μ΄ μμλ€μ μνλ²³ μμμ λ°λΌ μ λ ¬ν¨. |
splice() | κΈ°μ‘΄μ λ°°μ΄ μμλ₯Ό μ κ±°νκ±°λ μλ‘μ΄ λ°°μ΄ μμλ₯Ό μΆκ°νμ¬ λ°°μ΄μ λ΄μ©μ λ³κ²½ν¨. |
copyWithin() | ν΄λΉ λ°°μ΄μμ μΌλ ¨μ μμλ€μ 볡μ¬νμ¬, λͺ μλ μμΉμ μμλ€μ κ΅μ²΄ν¨. |
fill() | μμ μΈλ±μ€λΆν° μ’ λ£ μΈλ±μ€ λ°λ‘ μκΉμ§μ λͺ¨λ λ°°μ΄ μμλ₯Ό νΉμ κ°μΌλ‘ κ΅μ²΄ν¨. |
join() | λ°°μ΄μ λͺ¨λ μμλ₯Ό νλμ λ¬Έμμ΄λ‘ λ°νν¨. |
slice() | μ λ¬λ°μ μμ μΈλ±μ€λΆν° μ’ λ£ μΈλ±μ€ λ°λ‘ μκΉμ§μ λͺ¨λ λ°°μ΄ μμλ₯Ό μΆμΆνμ¬ λ§λ μλ‘μ΄ λ°°μ΄μ λ°νν¨. |
concat() | ν΄λΉ λ°°μ΄μ λ€μ μΈμλ‘ μ λ¬λ°μ λ°°μ΄μ ν©μ³μ λ§λ μλ‘μ΄ λ°°μ΄μ λ°νν¨. |
toString() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμλ₯Ό νλμ λ¬Έμμ΄λ‘ λ°νν¨. |
toLocaleString() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμλ₯Ό νλμ λ¬Έμμ΄λ‘ λ°νν¨. |
indexOf() | μ λ¬λ°μ κ°κ³Ό λμΌν λ°°μ΄ μμκ° μ²μμΌλ‘ λ±μ₯νλ μμΉμ μΈλ±μ€λ₯Ό λ°νν¨. |
lastIndexOf() | μ λ¬λ°μ κ°κ³Ό λμΌν λ°°μ΄ μμκ° λ§μ§λ§μΌλ‘ λ±μ₯νλ μμΉμ μΈλ±μ€λ₯Ό λ°νν¨. |
forEach() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμμ λνμ¬ λ°λ³΅μ μΌλ‘ λͺ μλ μ½λ°± ν¨μλ₯Ό μ€νν¨. |
map() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμμ λνμ¬ λ°λ³΅μ μΌλ‘ λͺ μλ μ½λ°± ν¨μλ₯Ό μ€νν ν, κ·Έ μ€ν κ²°κ³Όλ₯Ό μλ‘μ΄ λ°°μ΄λ‘ λ°νν¨. |
filter() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμμ λνμ¬ λ°λ³΅μ μΌλ‘ λͺ μλ μ½λ°± ν¨μλ₯Ό μ€νν ν, κ·Έ κ²°κ΄κ°μ΄ trueμΈ μμλ€λ§μ μλ‘μ΄ λ°°μ΄μ λ΄μ λ°νν¨. |
every() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμμ λνμ¬ λ°λ³΅μ μΌλ‘ λͺ μλ μ½λ°± ν¨μλ₯Ό μ€νν ν, κ·Έ κ²°κ΄κ°μ΄ λͺ¨λ trueμΌ λμλ§ trueλ₯Ό λ°νν¨. |
some() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμμ λνμ¬ λ°λ³΅μ μΌλ‘ λͺ μλ μ½λ°± ν¨μλ₯Ό μ€νν ν, κ·Έ κ²°κ΄κ°μ΄ νλλΌλ trueμ΄λ©΄ trueλ₯Ό λ°νν¨. |
reduce() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμλ₯Ό νλμ κ°μΌλ‘ μ€μ΄κΈ° μν΄, λ κ°μ μΈμλ₯Ό μ λ¬λ°λ μ½λ°± ν¨μλ₯Ό μ€νν¨. (λ°°μ΄μ 첫 λ²μ§Έ μμλΆν° μμν¨.) |
reduceRight() | ν΄λΉ λ°°μ΄μ λͺ¨λ μμλ₯Ό νλμ κ°μΌλ‘ μ€μ΄κΈ° μν΄, λ κ°μ μΈμλ₯Ό μ λ¬λ°λ μ½λ°± ν¨μλ₯Ό μ€νν¨. (λ°°μ΄μ λ§μ§λ§ μμλΆν° μμν¨.) |
entries() | λ°°μ΄ μμλ³λ‘ ν€μ κ°μ ν μμΌλ‘ μ΄λ£¨μ΄μ§ μλ‘μ΄ λ°°μ΄ λ°λ³΅μ κ°μ²΄(Array Iterator Object)λ₯Ό λ°°μ΄ ννλ‘ λ°νν¨. |
keys() | λ°°μ΄ μμλ³λ‘ ν€(key)λ§ ν¬ν¨νλ μλ‘μ΄ λ°°μ΄ λ°λ³΅μ κ°μ²΄λ₯Ό λ°°μ΄ ννλ‘ λ°νν¨. |
values() | λ°°μ΄ μμλ³λ‘ κ°(value)λ§ ν¬ν¨νλ μλ‘μ΄ λ°°μ΄ λ°λ³΅μ κ°μ²΄λ₯Ό λ°°μ΄ ννλ‘ λ°νν¨. |
find() | κ²μ¬λ₯Ό μν΄ μ λ¬λ°μ ν¨μλ₯Ό λ§μ‘±νλ λ°°μ΄ μμμ κ°μ λ°νν¨. λ§μ‘±νλ κ°μ΄ μμΌλ©΄ undefinedλ₯Ό λ°νν¨. |
findIndex() | κ²μ¬λ₯Ό μν΄ μ λ¬λ°μ ν¨μλ₯Ό λ§μ‘±νλ λ°°μ΄ μμμ μΈλ±μ€λ₯Ό λ°νν¨. λ§μ‘±νλ κ°μ΄ μμΌλ©΄ -1μ λ°νν¨. |