
Array.lengthArray.isArray(value)push(), pop()shift(), unshift()splice(), slice()indexOf(), lastIndexOf()includes()sort(), reverse(), join()"new Array()" ํน์ "[]"๋ฅผ ํตํด ์ ์ธํ๋ฉฐ, ์ฌ์ด์ฆ ํน์ ๊ฐ์ ์ ๋ ฅํ์ฌ ์ด๊ธฐํ๋ ๊ฐ๋ฅ
let arr_1 = new Array(10);
let arr_2 = [];
console.log(arr_1);
console.log(arr_2);
let fruits = ["apple", "orange", "melon"];
console.log(fruits);
"Array[index]" ๋ฅผ ํตํด index๋ฅผ ํตํ์ฌ O(1) ์ ๊ทผ
console.log(fruits[0]); // apple
console.log(fruits[1]); // orange
console.log(fruits[2]); // melon
"Array.length" ๋ฅผ ํตํด ๋ฐฐ์ด ์์์ ๊ฐ์ ํ์ธ ๊ฐ๋ฅ
console.log(fruits.length); // 3
fruits[1] = "kiwi";
console.log(fruits); // ["apple", "kiwi", "melon"]
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด์ ์ผ๋ฐ ๋ฐฐ์ด์ด ์๋ Hash ๊ธฐ๋ฐ์ ๊ฐ์ฒด
๋ฉ๋ชจ๋ฆฌ๋ ๋น์ฐ์์ ์ธ ํฌ์ ๋ฐฐ์ด(sparse array) ํํ๋ก ๊ตฌ์ฑ๋จ
let nums = [];
nums[0] = "one";
nums[1] = "two";
console.log(nums.length);
console.log(nums);
let nums = [];
nums[0] = "one";
nums[1] = "two";
nums["once"] = "once";
nums["twice"] = "twice";
console.log(nums.length);
console.log(nums);
console.log(Object.getOwnPropertyDescriptors(nums));
nums[0], nums[1] ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ์ฑ์ด ๊ฒ์ด๊ณ
nums["once"], nums["twice"] ์ ๊ฐ์ฒด ์์ฑ(ํค)๋ฅผ ์ถ๊ฐํ ๊ฒ์ด๋ค.
๊ทธ๋์ ๊ธธ์ด๊ฐ 2์ธ๊ฒ ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ๊ฐ๋ฅดํค๊ณ ๋น์ฐ์์ ์ธ ํฌ์ ๋ฐฐ์ด๋ก ์์ฑ๋ ๊ฑธ ์ ์ ์๋ค
Array.isArray(value)
let num = 123.456;
let str = "here i am";
let fruits = ["apple", "orange", "melon"];
console.log(Array.isArray(num)); //false
console.log(Array.isArray(str)); //false
console.log(Array.isArray(fruits)); // true
delete array[index]
โก๏ธ ์์๋ฅผ ์ญ์ ๋ฅผ ํด๋ ๋ฐฐ์ด ์ฌ์ด์ฆ๊ฐ ๊ทธ๋๋ก์ธ ๋ฌธ์ ์ ์ด ์๋ค
let fruits = ["apple", "orange", "melon"];
console.log(fruits);
console.log(fruits.length);
delete fruits[1];
console.log(fruits);
console.log(fruits.length);
Array.push(element) // ์ถ๊ฐ
Array.pop() // ์ญ์
let fruits = ["apple", "orange", "melon"];
fruits.push("watermelon");
console.log(fruits); // [ 'apple', 'orange', 'melon', 'watermelon']
console.log(fruits.length); // 4
fruits.pop();
console.log(fruits); // [ 'apple', 'orange', 'melon' ]
console.log(fruits.length); // 3
Array.unshift(element) // ์ถ๊ฐ
Array.shift() // ์ญ์
let fruits = ["apple", "orange", "melon"];
fruits.unshift("watermelon");
console.log(fruits); // [ 'watermelon', 'apple', 'orange', 'melon' ]
console.log(fruits.length); // 4
fruits.shift();
console.log(fruits); // [ 'apple', 'orange', 'melon' ]
console.log(fruits.length); // 3
let fruits = ["apple", "orange", "melon"];
let ret;
ret = fruits.splice(1);
console.log(ret); // [ 'orange', 'melon' ]
console.log(fruits); // [ 'apple' ]
fruits = ["apple", "orange", "melon", "strawberry"];
ret = fruits.splice(1, 1);
console.log(ret); // [ 'orange' ]
console.log(fruits); // [ 'apple', 'melon', 'strawberry' ]
ret = fruits.splice(1, 1, "mango", "kiwi"); // melon ์์น์ "mango", "kiwi"๊ฐ
console.log(ret); // [ 'melon' ]
console.log(fruits); // [ 'apple', 'mango', 'kiwi', 'strawberry' ]
let fruits = ["apple", "orange", "melon"];
console.log(fruits.slice(1)); // [ 'orange', 'melon' ]
console.log(fruits); // [ 'apple', 'orange', 'melon' ]
console.log(fruits.slice(1, 2)); // [ 'orange' ]
console.log(fruits.slice(-2)); // [ 'orange', 'melon' ]
let fruits = ["apple", "orange", "melon"];
let fruits_add = ["cherry", "banana"];
console.log(fruits.concat(fruits_add)); // [ 'apple', 'orange', 'melon', 'cherry', 'banana' ]
console.log(fruits); // [ 'apple', 'orange', 'melon' ]
for + length: index ์ ๊ทผfor...of: element ์ ๊ทผfor...in: key(index) ์ ๊ทผlet fruits = ["apple", "orange", "melon"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
// apple
// orange
// melon
}
for (let fruit of fruits) {
console.log(fruit);
// apple
// orange
// melon
}
for (let key in fruits) {
console.log(key);
// 0
// 1
// 2
console.log(fruits[key]);
// apple
// orange
// melon
}
Array.indexOf(item, from)Array.lastIndexOf(item, from)Array.includes(item,from)let fruits = ["apple", "orange", "banana", "orange", "melon"];
console.log(fruits.indexOf("orange")); // 1
console.log(fruits.indexOf("Orange")); // -1 : ๋ฐฐ์ด ๋ด์ ์๋ค
console.log(fruits.indexOf("orange", 2)); // 3
console.log(fruits.lastIndexOf("orange")); // 3
console.log(fruits.lastIndexOf("orange", -3)); // 1
console.log(fruits.lastIndexOf("orange", 0)); // -1
console.log(fruits.includes("banana")); // true
console.log(fruits.includes("watermelon")); // false
console.log(fruits.includes("Banana")); // false
โก๏ธ sort()์ reverse()๋ ์๋ณธ ๋ฐฐ์ด ์์ฒด๋ฅผ ๋ณ๊ฒฝํจ
Array.sort()Array.reverse()let nums = [1, -1, 4, 5, 2, 0];
console.log(nums.sort()); // [ -1, 0, 1, 2, 4, 5 ] ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ nums๋ฅผ
console.log(nums.reverse()); // [ 5, 4, 2, 1, 0, -1 ] ๋ฐ์ ์ํจ ํํ
console.log(nums); // [ 5, 4, 2, 1, 0, -1 ]
let fruits = ["apple", "orange", "banana", "melon"];
console.log(fruits.sort()); // [ 'apple', 'banana', 'melon', 'orange' ]
console.log(fruits.reverse()); // [ 'orange', 'melon', 'banana', 'apple' ]
console.log(fruits); // [ 'orange', 'melon', 'banana', 'apple' ]
โก๏ธ ์๋ณธ ๋ฐ์ดํฐ์ ์ํฅ์ ๋ฏธ์น๋ค.
Array.join(separator)let fruits = ["apple", "orange", "banana", "melon"];
let str = fruits.join();
console.log(str); // apple,orange,banana,melon โก๏ธ ","๊ฐ ๊ธฐ๋ณธ๊ฐ
let str_separator = fruits.join(";");
console.log(str_separator); // apple;orange;banana;melon