const arr1 = new Array();
const arr2 = [1,2];
// ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
const fruits = ['๐','๐'];
//a. for
for (let i = 0; i<fruits.length; i++){
console.log(fruits);
}
//b. for of
for (let fruit of fruits){
console.log(fruit);
}
//c. forEach
fruits.forEach((fruit) => consol.log(fruit));
// Addtion, deletion, copy
// push: ๋ฐฐ์ด์ ๋ง์ง๋ง ์ธ๋ฑ์ค์ ์์ดํ
์ถ๊ฐ
fruits.push('๐');
//pop: ๋ฐฐ์ด์ ๋ง์ง๋ง ์์ดํ
๋ฅผ ์ ๊ฑฐ
fruits.pop();
// unshift: ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ ์์ดํ
์ถ๊ฐ
fruits.unshift('๐');
// shift: ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ ์์ดํ
์ญ์
fruits.shift();
unshift : ์๋ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ท ๋ฐ์ค๋ค์ ์ฐจ๋ก๋๋ก ์ฎ๊ฒจ ๋ด์, ์ธ๋ฑ์ค ๋งจ ์์ ๊ณต๊ฐ์ ๋ง๋ค์ด์ ์์ดํ ์ ์ถ๊ฐํจ.
shift : ๋งจ ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ฐ๊ณ ์๋์๋ ๋ฐ์ดํฐ๋ค์ ํ๋์ฉ ์์ผ๋ก ๋ฐ์ด์ค์ผํจ.
=> ์ด๋ฐ ์ด์ ๋ก pop, push ๋ณด๋ค ํจ์ฌ ๋๋ฆฌ๋ค!
๐ splice๋ฅผ ์ฌ์ฉํ์! (์ง์ ํ ์์น์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ,์ถ๊ฐํ ์ ์๋ค.)
fruits.splice(1,1) // ์ธ๋ฑ์ค 1๋ถํฐ 1๊ฐ ์ญ์ .
// ๋ง์ฝ ๊ฐฏ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด..?
fruits.splice(2); // ์ธ๋ฑ์ค 2๋ถํฐ ๋ฐฐ์ด๋๊น์ง ์ญ์ .
fruits.splice(1,1,'๐','๐'); // ์ธ๋ฑ์ค 1๋ฒ๋ถํฐ 1๊ฐ๋ฅผ ์ง์ฐ๊ณ ์์ดํ
๋๊ฐ ์ถ๊ฐ
// combine two arrays
const fruits2 = ['๐','๐'];
const newFruits = fruits.concat(fruits2);
//Searching, find the index
console.log(fruits.indexOf('๐')); // ์์ดํ
์ด ์์นํ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ถ๋ ฅ , ๋ง์ฝ ์๋ค๋ฉด -1 ์ถ๋ ฅ
// ๋ง์ฝ ์ค๋ ์ง๊ฐ ๋๊ฐ๋ผ๋ฉด indexOf ๋ ์์ ์๋ ์ธ๋ฑ์ค๋ฅผ ์ถ๋ ฅํด์ค๋ค.
// ๋ง์ฝ ๋ง์ง๋ง์ ์์นํ ์ธ๋ฑ์ค๋ฅผ ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด
// lastindexOf ์ ์ฌ์ฉํ๋ฉด๋๋ค!
console.log(fruits.lastindexOf('๐'));
console.log(fruits.includes('๐')); // ์์ดํ
์ด ๋ฐฐ์ด ์์๋ก ์๋์ง true or false ์ถ๋ ฅ
๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ๋ฌธ์์ด๋ก ํ๋์ ์์๋ก ๋ง๋๋ ํจ์๋ค.(์ฝ๊ฒ ๋งํด, ๋ฐฐ์ด์ ํญ๋ชฉ์ ํ๋์ ๋ฌธ์๋ก ํฉ์น๋ค.) ๊ฐ ์์๋ค์ , ์ผ๋ก ๊ตฌ๋ถํ๋๋ฐ, ๋ค๋ฅธ ๋ฌธ์๋ก ๊ตฌ๋ถํ๊ณ ์ถ๋ค๋ฉด, ( ) ์์ ์ฌ์ฉ์๊ฐ ์์๋ก ์ง์ ํ ์ ์๋ค.
const elements = ['red', 'yellow', 'green'];
console.log(elements.join());
//"red,yellow,green"
console.log(elements.join(''));
//"redyellogreen"
console.log(elements.join('-'));
//"red-yellow-green"
๋ฌธ์์ด์ ์ผ์ ํ ๊ตฌ๋ถ์๋ก ์๋ผ์, ๋ฐฐ์ด๋ก ๋ง๋๋ ํจ์๋ค. ์ด๋ ์ฌ์ฉ์๊ฐ limit์ ์ง์ ํ๋ฉด, ์ฌ์ฉ์๊ฐ ์ง์ ํ limit๊น์ง ๋ฐฐ์ด๋ก ๋ง๋ค ์ ์๋ค.
const fruits = '๐, ๐ฅ, ๐, ๐';
const result = fruits.split(',');
console.log(result); //๊ฒฐ๊ณผ: ["๐", " ๐ฅ", " ๐", " ๐"]
const result1 = fruits.split(',',2); // ๊ทธ๋ผ ํค์๊น์ง ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ง
console.log(result1); //๊ฒฐ๊ณผ: ["๐", " ๐ฅ"]
๋ฐฐ์ด ์์๊ฐ ๋ฐ์ ๋๊ฒ ๋ณํํ๋ค.
{
const array = [1, 2, 3, 4, 5];
const result = array.reverse(); // ๋ฐฐ์ด ์์ฒด๋ฅผ reverse
} // [5,4,3,2,1]
์๋ณธ ๋ฐฐ์ด์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋, ๊ธฐ์กด ์์๋ฅผ ์ญ์ , ๊ต์ฒดํ์ฌ ๋ฐฐ์ด์ ๋ฐํํ๋ค.
- start : ๋ฐฐ์ด์ ๋ณ๊ฒฝ์ ์์ํ ์ธ๋ฑ์ค.
- deleteCount: ๋ฐฐ์ด์์ ์ ๊ฑฐํ ์์์ ์
- item1, item2... : ๋ฐฐ์ด์ ์ถ๊ฐํ ์์.
{
const array = [1, 2, 3, 4, 5];
const result = array.splice(0,2); // ์ธ๋ฑ์ค 0-1 ๊น์ง ๋ฐฐ์ด ์ ๊ฑฐ
console.log(result); // [1,2]
console.log(array); // [3,4,5]
}
{
const array = [1, 2, 3, 4, 5];
const result = array.splice(0,2,8); // ์ธ๋ฑ์ค 0-1๊น์ง ๋ฐฐ์ด ์ ๊ฑฐ ํ, ์ซ์ 8 ์ถ๊ฐ
console.log(result); // [1,2]
console.log(array); // [8,3,4,5]
}
๋ฐฐ์ด์ ์ง์ ํ ๋ฒ์๋งํผ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ง๋ ๋ค.
(์ด๋, ์์์ธ๋ฑ์ค์ ์ข ๋ฃ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ๋๋ฐ, ์ด๋ ์ข ๋ฃ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด, ๋ฐฐ์ด์ ๋๊น์ง ์๋ผ๋ธ๋ค.)
{
const array = [1, 2, 3, 4, 5];
const result = array.slice(0,2); // ์ธ๋ฑ์ค 0-1๊น์ง ๋ฐฐ์ด ์ ๊ฑฐ ํ, ์ซ์ 8 ์ถ๊ฐ
console.log(result); // [1,2]
console.log(array); // [1,2,3,4,5] //
}
{
const array = [1, 2, 3, 4, 5];
const result = array.slice(0); // ์ธ๋ฑ์ค 0-1๊น์ง ๋ฐฐ์ด ์ ๊ฑฐ ํ, ์ซ์ 8 ์ถ๊ฐ
console.log(result); // [1,2,3,4,5]
console.log(array); // [1,2 ,3,4,5]
}
splice๋ ์๋ณธ ๋ฐฐ์ด์ ์์ ํ์ง๋ง, slice๋ ๊ธฐ์กด ๋ฐฐ์ด์ ์์ ํ์ง ์๋๋ค.
๋ฐฐ์ด์์ ํน์ ๊ฐ์ ์ฐพ๋ ์กฐ๊ฑด์ callback ํจ์๋ก ์ ๋ฌํ์ฌ, ์ฃผ์ด์ง ์กฐ๊ฑด์ ์ฒซ๋ฒ์งธ ์์๊ฐ์ ๋ฐํํ๋ค. (๋ง์ฝ ์กฐ๊ฑด์ ๋ง๋ ์์ ๊ฐ์ด ์์ ๊ฒฝ์ฐ undefined ๋ฆฌํด.
- callback: ๋ฐฐ์ด์ ๊ฐ ๊ฐ์ ๋ํด ์คํํ ํจ์.
- thisArg: ์ฝ๋ฐฑ์ด ํธ์ถ๋ ๋ this ๋ก ์ฌ์ฉํ ๊ฐ์ฒด.
{
const array = [1,2,3,4,5];
const found = array.find(element => element>3);
console.log(found); // 4
}
class Student {
constructor(name, age, enrolled, score) {
this.name = name;
this.age = age;
this.enrolled = enrolled;
this.score = score;
}
}
const students = [
new Student('A', 29, true, 45),
new Student('B', 28, false, 80),
new Student('C', 30, true, 90),
new Student('D', 40, false, 66),
new Student('E', 18, true, 88),
];
// Q5. find a student with the score 90
{
const result = students.find((student) =>{
return student.score > 70;
});
console.log(result);
}
find ํจ์์ฒ๋ผ ์กฐ๊ฑด์ ๋ง๋ ๊ฐ์ ์ฐพ์ง๋ง, ์ฒซ๋ฒ์งธ ์์๋ง ๋ฐํํ๋ findํจ์์๋ ๋ฌ๋ฆฌ ๋ชจ๋ ๊ฐ์ ๋ฐฐ์ด ํํ๋ก ๋ฆฌํดํ๋ค.
// result should be: [45, 80, 90, 66, 88]
{
const result = students.map((student) => student.score);
}
๋ฐฐ์ด ๋ด์ ๋ชจ๋ ์์ ๊ฐ๊ฐ์ ๋ํ์ฌ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง๋ ์์ ๊ฐ๋ค์ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
- callback : ์๋ก์ด ๋ฐฐ์ด ์์๋ฅผ ์์ฑํ๋ ํจ์.
- currentValue: ์ฒ๋ฆฌํ ํ์ฌ ์์
- index: ์ฒ๋ฆฌํ ํ์ฌ ์์์ ์ธ๋ฑ์ค
- array: map( ) ์ ํธ์ถํ ๋ฐฐ์ด
- thisArg: callback์ ์คํํ ๋ this ๋ก ์ฌ์ฉ๋๋ ๊ฐ.
{
const result = students.map((student) => student.score);
//[45, 80, 90, 66, 88]
}
๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ๋ฆฌ๋์ ํจ์๋ฅผ ์คํํ๊ณ , ํ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ๋ค.
๋ฆฌ๋์ ํจ์์๋ ๋์ฐ๊ธฐ, ํ์ฌ ๊ฐ, ํ์ฌ ์ธ๋ฑ์ค, ์๋ณธ ๋ฐฐ์ด ์ด ๋ค๊ฐ์ ์ธ์๋ฅผ ๊ฐ์ง๋ค.
{
const result = students.reduce((prev, current)=> prev + current.score ,0); // ํ์๋ค์ ์ ์์ ํฉ์ด ์ถ๋ ฅ๋๋ค.
}
class Student {
constructor(name, age, enrolled, score) {
this.name = name;
this.age = age;
this.enrolled = enrolled;
this.score = score;
}
}
const students = [
new Student('A', 29, true, 45),
new Student('B', 28, false, 80),
new Student('C', 30, true, 90),
new Student('D', 40, false, 66),
new Student('E', 18, true, 88),
];
์ ๋ต
const result = students
.map((student) => student.score)
.filter((score) => score >= 50)
.join();
๋๋ฆผ์ฝ๋ฉ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์์ฑํ์์ต๋๋ค.