[JavaScript] ๋ฐฐ์ด (1)
- 1. ๋ฐฐ์ด: ๋ฆฌ์คํธ์ ๋น์ทํ ๊ฐ์ฒด๋ก์ ์ํ์ ๋ณํ ์์ ์ ์ํํ๋ ๋ฉ์๋
- 2. ๋ฐฐ์ด ์ํ For๋ฌธ ํ์ฉ
- 3. toString,join
- 4. push,pop,unshift,shift
- 5. isArray,concat,slice,splice
1. ๋ฐฐ์ด: ๋ฆฌ์คํธ์ ๋น์ทํ ๊ฐ์ฒด๋ก์ ์ํ์ ๋ณํ ์์ ์ ์ํํ๋ ๋ฉ์๋
[Array - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array) |
๋ฒ์คํ๊ธฐ : Array๋ฅผ ์ฌ์ฉ
์ฌ๋์ด ๋ง๋ค : ๋ฐ์ดํฐ๊ฐ ๋ง๋ค(3๊ฐ ์ด์)
์ค ์ธ์ (๋์ด) => ์ฒ๋ฆฌ์๋๊ฐ ๋น ๋ฆ
์ฒ๋ฆฌ์๋๊ฐ ๋น ๋ฆ : ์ญ์ ,์์ ,์ถ๊ฐ๊ฐ ์ฉ์ด(์ ์ง๋ณด์๊ฐ ์ข๋ค)
{
/* ๊ธฐ๋ณธ ๋ฐฐ์ด ์ถ๋ ฅ */
let arr =[];
arr[0]= 'ํ๊ธธ๋';
arr[1]= 20;
arr[2]= '์์ธ์ ๊ฐ๋จ๊ตฌ';
arr[3]= '010-0000-0000';
console.log('์ด๋ฆ:',arr[0])
console.log('๋์ด:',arr[1])
console.log('์ฃผ์:',arr[2])
console.log('๋ฒํธ:',arr[3])
console.log('๊ฐฏ์:',arr.length)
}
=> ๊ฒฐ๊ณผ๊ฐ
[Running] node "/workspaces/codespaces-blank/index.js"
์ด๋ฆ: ํ๊ธธ๋
๋์ด: 20
์ฃผ์: ์์ธ์ ๊ฐ๋จ๊ตฌ
๋ฒํธ: 010-0000-0000
๊ฐฏ์: 4
[Done] exited with code=0 in 0.056 seconds
{
/* ์ด๊ธฐ๊ฐ */
const menuList = ['Room0','Room1','Room2','Room3'];
//for๋ฌธ์ผ๋ก ์ถ๋ ฅ
for(let i=0; i<menuList.length; i++){
let menuitem =menuList[i];
console.log(i,'๋ฒ์งธ๋ฐฉ:',menuitem)
}
console.log('------------------------------')
// for of๋ฌธ
let cnt = 0;
for(let menu of menuList){
let menuItem = menu;
console.log(cnt,'๋ฒ์งธ๋ฐฉ:',menuItem);
cnt++;
}
console.log('------------------------------')
//for in ๋ฌธ
for(let idx in menuList){ // index๋ฒํธ๋ฅผ ๊ฐ์ ธ์ด
let menuItem = menuList[idx];
console.log(idx,'๋ฒ์งธ๋ฐฉ',menuList)
}
}
=> ๊ฒฐ๊ณผ๊ฐ
[Running] node "/workspaces/codespaces-blank/index.js"
0 ๋ฒ์งธ๋ฐฉ: Room0
1 ๋ฒ์งธ๋ฐฉ: Room1
2 ๋ฒ์งธ๋ฐฉ: Room2
3 ๋ฒ์งธ๋ฐฉ: Room3
------------------------------
0 ๋ฒ์งธ๋ฐฉ: Room0
1 ๋ฒ์งธ๋ฐฉ: Room1
2 ๋ฒ์งธ๋ฐฉ: Room2
3 ๋ฒ์งธ๋ฐฉ: Room3
------------------------------
0 ๋ฒ์งธ๋ฐฉ [ 'Room0', 'Room1', 'Room2', 'Room3' ]
1 ๋ฒ์งธ๋ฐฉ [ 'Room0', 'Room1', 'Room2', 'Room3' ]
2 ๋ฒ์งธ๋ฐฉ [ 'Room0', 'Room1', 'Room2', 'Room3' ]
3 ๋ฒ์งธ๋ฐฉ [ 'Room0', 'Room1', 'Room2', 'Room3' ]
[Done] exited with code=0 in 0.053 seconds
2. ๋ฐฐ์ด ์ํ For๋ฌธ ํ์ฉ
/* ๋ฐฐ์ด ์ํ์ผ๋ก ์ด๋ฆ ์กฐํ */
{
/* ์ด๊ธฐ๊ฐ */
let name = ['๊ฐํธ๋','์ ์ฌ์','์ ๋์ฝ','์ด์๊ทผ','๊นํฌ์ฒ ']
let len = name.length;
let username = prompt('์ด๋ฆ ์กฐํ','์กฐํํ ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์');
//for๋ฌธ: ์กฐํ๊ฐ ๋๋ฉด break๋ก ๋๋ด๊ธฐ
for(let i=0; i<len; i++){
if(username==name[i]){
console.log(username,'์ ์ฐพ์์ต๋๋ค')
break
}
}
//for of๋ฌธ
for(let namelist of name){
if(namelist==username){
console.log(username,'์ ์ฐพ์์ต๋๋ค')
break
}
}
//for in๋ฌธ
for(let idx in name){ // ์ธ๋ฑ์ค๋ฒํธ ์ถ๋ ฅ
if(name[idx]==username){
console.log(username,'์ ์ฐพ์์ต๋๋ค')
break
}
}
}
=> ๊ฒฐ๊ณผ๊ฐ
[Running] node "/workspaces/codespaces-blank/index.js"
๊ฐํธ๋ ์ ์ฐพ์์ต๋๋ค
๊ฐํธ๋ ์ ์ฐพ์์ต๋๋ค
๊ฐํธ๋ ์ ์ฐพ์์ต๋๋ค
[Done] exited with code=0 in 0.053 seconds
3. toString,join
/* toString,join ํ์ฉ */
{
let name = ['๊ฐํธ๋','์ ์ฌ์','์ ๋์ฝ','์ด์๊ทผ','๊นํฌ์ฒ ']
let str = name.toString();
let str1 = name.join('+');
let str2 = name.join('-');
let str3 = name.join(' ');
let str4 = name.join('');
console.log('str:',str);
console.log('str์ ํ์
์?',typeof(str))
console.log('str1:',str1);
console.log('str2:',str2);
console.log('str3:',str3);
console.log('str4:',str4);
}
=> ๊ฒฐ๊ณผ๊ฐ
[Running] node "/workspaces/codespaces-blank/index.js"
str: ๊ฐํธ๋,์ ์ฌ์,์ ๋์ฝ,์ด์๊ทผ,๊นํฌ์ฒ
str์ ํ์
์? string
str1: ๊ฐํธ๋+์ ์ฌ์+์ ๋์ฝ+์ด์๊ทผ+๊นํฌ์ฒ
str2: ๊ฐํธ๋-์ ์ฌ์-์ ๋์ฝ-์ด์๊ทผ-๊นํฌ์ฒ
str3: ๊ฐํธ๋ ์ ์ฌ์ ์ ๋์ฝ ์ด์๊ทผ ๊นํฌ์ฒ
str4: ๊ฐํธ๋์ ์ฌ์์ ๋์ฝ์ด์๊ทผ๊นํฌ์ฒ
[Done] exited with code=0 in 0.052 seconds
4. push,pop,unshift,shift
1): push() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋์ ํ๋ ์ด์์ ์์๋ฅผ ์ถ๊ฐํ๊ณ , ๋ฐฐ์ด์ ์๋ก์ด ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.(์๋ณธ์ด ๋ฐ๋)
[Array.prototype.push() - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/push) |
2): pop() ๋ฉ์๋๋ ๋ฐฐ์ด์์ ๋ง์ง๋ง ์์๋ฅผ ์ ๊ฑฐํ๊ณ ๊ทธ ์์๋ฅผ ๋ฐํํฉ๋๋ค.
[Array.prototype.pop() - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/pop) |
3): unshift() ๋ฉ์๋๋ ์๋ก์ด ์์๋ฅผ ๋ฐฐ์ด์ ๋งจ ์์ชฝ์ ์ถ๊ฐํ๊ณ , ์๋ก์ด ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
[Array.prototype.unshift() - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift) |
4): shift() ๋ฉ์๋๋ ๋ฐฐ์ด์์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ์ ๊ฑฐํ๊ณ , ์ ๊ฑฐ๋ ์์๋ฅผ ๋ฐํํฉ๋๋ค. ์ด ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ณํ๊ฒ ํฉ๋๋ค.
[Array.prototype.shift() - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/shift) |
/* push,pop,unshift,shift ํ์ฉ */
/* (1). push ํ์ฉ */
let color = ['red','green','blue','yellow','orange'];
color.push('purple'); // ๋งจ๋ค ๋ฐฐ์ด purple ์ถ๊ฐ
color.push('pink'); // ๋งจ๋ค ๋ฐฐ์ด pink ์ถ๊ฐ
console.log(color);
=>๊ฒฐ๊ณผ๊ฐ
['red','green','blue','yellow','orange','purple','pink']
--------------------------------------------------------------------
/* (2). pop ํ์ฉ */
color.pop(); //๋งจ๋ค ๋ฐฐ์ด ์ญ์
console.log(color);
console.log("")
=> ๊ฒฐ๊ณผ๊ฐ
[ 'red', 'green', 'blue', 'yellow', 'orange', 'purple']
--------------------------------------------------------------------
/* (3). unshift ํ์ฉ */
color.unshift('hotpink'); // ๋งจ์ ๋ฐฐ์ด ์ถ๊ฐ
console.log(color)
=> ๊ฒฐ๊ณผ๊ฐ
['hotpink', 'red', 'green', 'blue', 'yellow', 'orange', 'purple']
--------------------------------------------------------------------
/* (4). shift ํ์ฉ */
color.shift(); // ๋งจ ์ ๋ฐฐ์ด ์ญ์
console.log(color);
=> ๊ฒฐ๊ณผ๊ฐ
['red', 'green', 'blue', 'yellow', 'orange', 'purple']
--------------------------------------------------------------------
/* (5). ๋ฐฐ์ด ๋ฐ์ดํฐ ์์ */
//์์
color[0]='๋ผ์';
color[1]='๋ธ๋ฃจ';
console.log(color);
=> ๊ฒฐ๊ณผ๊ฐ
[ '๋ผ์', '๋ธ๋ฃจ', 'blue', 'yellow', 'orange', 'purple' ]
5. isArray,concat,slice,splice
1): Array.isArray()
๋ฉ์๋๋ ์ธ์๊ฐย Array์ธ์ง ํ๋ณํฉ๋๋ค.(๋ฐํ์ Boolean๊ฐ)
[Array.isArray() - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray) |
2): concat()
ย ๋ฉ์๋๋ ์ธ์๋ก ์ฃผ์ด์ง ๋ฐฐ์ด์ด๋ ๊ฐ๋ค์ ๊ธฐ์กด ๋ฐฐ์ด์ ํฉ์ณ์ ์ ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
[Array.prototype.concat() - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/concat) |
- ๊ธฐ์กด๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค.
์ถ๊ฐ๋ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
3):
slice()
ย ๋ฉ์๋๋ ์ด๋ค ๋ฐฐ์ด์ยbegin
ย ๋ถํฐยend
ย ๊น์ง(end
ย ๋ฏธํฌํจ)์ ๋ํ ์์ ๋ณต์ฌ๋ณธ์ ์๋ก์ด ๋ฐฐ์ด ๊ฐ์ฒด๋ก ๋ฐํํฉ๋๋ค.
[Array.prototype.slice() - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) |
์๋ณธ ๋ฐฐ์ด์ ๋ฐ๋์ง ์์ต๋๋ค.
4):
splice()
ย ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ธฐ์กด ์์๋ฅผ ์ญ์ ๋๋ ๊ต์ฒดํ๊ฑฐ๋ ์ ์์๋ฅผ ์ถ๊ฐํ์ฌ ๋ฐฐ์ด์ ๋ด์ฉ์ ๋ณ๊ฒฝํฉ๋๋ค.
[Array.prototype.splice() - JavaScript | MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) |
/* isArray,concat,slice,splice ํ์ฉ */
/* (1). isArray ํ์ฉ */
let color = 'red,green,pink,skyblue,hotpink';
/* string์ ๋ฐฐ์ด๋ก ๋ณ๊ฒฝ */
let arr = color.split(',');
console.log(Array.isArray(color)) // ๋ฐฐ์ด์ธ์ง ํ๋ณ false
console.log(Array.isArray(arr)) // ๋ฐฐ์ด์ธ์ง ํ๋ณ true
=>๊ฒฐ๊ณผ๊ฐ
[Running] node "/workspaces/codespaces-blank/index.js"
false
true
[Done] exited with code=0 in 0.054 seconds
--------------------------------------------------------------------
/* (2). concat ํ์ฉ */
const arr1 = [100,200,300,400];
const arr2 = [10,20,30,40,50];
const arr3 = [1,2,3,4,5];
console.log(arr1);
let arrToConcat = arr1.concat(arr2,arr3);
console.log('arrToConcat?',arrToConcat);
=> ๊ฒฐ๊ณผ๊ฐ
[Running] node "/workspaces/codespaces-blank/index.js"
๋ฐฐ์ด์ ์ด๊ธฐ๊ฐ ์ถ๋ ฅ [ 100, 200, 300, 400 ]
arrToConcat? [100, 200, 300, 400, 10, 20 ,30 ,40 ,50 ,1 ,2 ,3 ,4 ,5]
[Done] exited with code=0 in 0.057 seconds
--------------------------------------------------------------------
/* (3). slice ํ์ฉ */
let arr = [10,20,30,40,50,60];
let str = arr.slice(1,3); // slice(์์์ธ๋ฑ์ค~,๋ง์ง๋ง ๋ฐฐ์ด)
let str1 = arr.slice(3); //slice(์์์ธ๋ฑ์ค๋ถํฐ~)
let str2 = arr.slice(1,-2);
let str3 = arr.slice(-1); // slice(์์๋ฉด ๋ท์๋ฆฌ๋ถํฐ)
console.log(`${str}`);
console.log(`${str1}`);
console.log(`${str2}`);
console.log(`${str3}`);
=> ๊ฒฐ๊ณผ๊ฐ
[Running] node "/workspaces/codespaces-blank/index.js"
20,30
40,50,60
20,30,40
60
[Done] exited with code=0 in 0.056 seconds['hotpink', 'red', 'green', 'blue', 'yellow', 'orange', 'purple']
--------------------------------------------------------------------
/* (4). splice ํ์ฉ */
let data = [10,20,30,40,50,60];
data.splice(1,3); // splice(์์์ธ๋ฑ์ค,๋ฐฐ์ด์ซ์) ๋ฐฐ์ด์ ์ญ์ ์ฉ
console.log(data);
let data1 = [10,20,30,40,50,60];
data1.splice(1,0,'ํ๊ธธ๋','๊ฐํธ๋','๊น์ฒ ์');
//splice(์์์ธ๋ฑ์ค๋ฒํธ,๋ฐฐ์ด์๋ฆฟ์ ,)
console.log(data1);
let data2 = [10,20,30,40,50,60];
data2.splice(2,2,'a','b','c','d');
console.log(data2);
=> ๊ฒฐ๊ณผ๊ฐ
[Running] node "/workspaces/codespaces-blank/index.js"
[10, 50, 60]
[10, 'ํ๊ธธ๋','๊ฐํธ๋', '๊น์ฒ ์', 20, 30, 40, 50, 60]
[10, 20, 'a', 'b', 'c', 'd', 50, 60]
[Done] exited with code=0 in 0.059 seconds