๐Ÿ’ป/Javascript

(48) [JavaScript] 4์ผ JavaScript Array

๋”ฐ๊ถˆ 2024. 4. 24. 08:59

 

 

Array ๊ฐ์ฒด๋Š” ์ผ๋ จ์˜ ๊ฐ’๋“ค์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š”
๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ์˜ ๊ณ ์ˆ˜์ค€ ๊ฐ์ฒด. 
๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋Š” ๋ฐฐ์—ด์˜ ์ด๋ฆ„๊ณผ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉฐ ์ธ๋ฑ์Šค๋Š” `0`๋ถ€ํ„ฐ ์‹œ์ž‘

 

Array ํŠน์ง•

  1. ํƒ€์ž…์ด ๊ณ ์ •์ ์ด์ง€ ์•Š๋‹ค. ์ฆ‰, ๊ฐ™์€ ๋ฐฐ์—ด์— ์žˆ๋Š” ์›์†Œ์˜ ํƒ€์ž…์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.
  2. 32๋น„ํŠธ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉ.
  3. ํฌ๊ธฐ๊ฐ€ ๋™์ 
  4. ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ํฌ๊ธฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ๋‹ค์‹œ ํ• ๋‹น ํ•˜๋”๋ผ๋„ ๋ฐฐ์—ด ํฌ๊ธฐ๋ฅผ ๋‹ค์‹œ ์„ ์–ธํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.
  5. ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋„์—์„œ ๋น ์ง„ ๋ถ€๋ถ„์ด ์กด์žฌํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ถ€๋ถ„์˜ ์›์†Œ ๊ฐ’์€ undefined ๋œ๋‹ค.

 

Array ๊ฐ์ฒด ์ƒ์„ฑ 

  • ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋„์„ ์ด์šฉํ•œ 1์ฐจ์› ๋ฐฐ์—ด ์ƒ์„ฑ
	<h3>๋ฐฐ์—ด</h3>

	<script type="text/javascript">
		//๋ฐฐ์—ด ๋ฆฌํ„ฐ๋„์„ ์ด์šฉํ•œ 1์ฐจ์› ๋ฐฐ์—ด ์ƒ์„ฑ 
		var a1 = []; // ๋นˆ ๋ฐฐ์—ด
		var a2 = [ 10, 20, 30 ];
		var a3 = [ 10, 20, 30, ]; // ๋งˆ์ง€๋ง‰ ,๋Š” ๋ฌด์‹œ
		var a4 = [ 10, 20, , 30 ]; // ์ค‘๊ฐ„์—, ๋‹ค์Œ์— ๊ฐ’์ด ์—†์œผ๋ฉด undefined 

		console.log(a1.length);//0
		console.log(a2.length);//3
		console.log(a3.length);//3
		console.log(a4.length);//4

		//์š”์†Œ ์ ‘๊ทผ, ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ
		console.log(a2[0], a4[2]);

		//Array ์ƒ์„ฑ์ž๋ฅผ ์ด์šฉํ•œ 1์ฐจ์› ๋ฐฐ์—ด ์ƒ์„ฑ
		var b1 = new Array();
		var b2 = new Array(5); // ๊ธธ์ด๊ฐ€ 5์ธ ๋ฐฐ์—ด. ์š”์†Œ ๊ฐ’์€ ๋ชจ๋‘ undefined
		var b3 = new Array(10, 20); // ์ดˆ๊ธฐ๊ฐ’์„ ๋‘๊ฐœ ๊ฐ€์ง€๋Š” 1์ฐจ์› ๋ฐฐ์—ด

		console.log(b1.length); 
		console.log(b2.length);
		console.log(b3.length);
	</script>

 

 

  • Array() ์ƒ์„ฑ์ž๋ฅผ ์ด์šฉํ•œ 2์ฐจ์› ๋ฐฐ์—ด
	<h3>๋ฐฐ์—ด</h3>

	<script type="text/javascript">
	//Array() ์ƒ์„ฑ์ž๋ฅผ ์ด์šฉํ•œ 2์ฐจ์› ๋ฐฐ์—ด
	
	var a1 = new Array(2);
	a1[0] = new Array(3);
	a1[1] = new Array(3);
	
	console.log(a1.length); // 2 ํ–‰์ˆ˜
	console.log(a1[0].length); // 3 ์—ด์ˆ˜ 
	
	//๋ฐฐ์—ด ๋ฆฌํ„ฐ๋„์„ ์ด์šฉํ•œ 2์ฐจ์› ๋ฐฐ์—ด
	var a2 =[[1,2,3],[4,5,6]];
	console.log(a2.length); // 2
	console.log(a2[0].length); // 3
	
	console.log(a2[1][2]); // 6
	
	</script>

 

 

Array ์ˆœํšŒ 

	<h3>๋ฐฐ์—ด-์ˆœํšŒ</h3>

	<script type="text/javascript">
	var a = [10,20,,30,0]; // 10,20,undefined,30 0
	
	//๋ฐฐ์—ด ์š”์†Œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ˆœํšŒ
	for(let i =0; i<a.length; i++){
		console.log(a[i]);
	}
	
	console.log('==============================');
	
		for(let i =0; i<a.length; i++){
			if(a[i]){
		console.log(a[i]);
				
		}
	}
		console.log('==============================')
		
		var b =[10,20,30];
		for(let n of b){ // ์ปฌ๋ ‰์…˜ ๋ฐ˜๋ณต
			console.log(n);
		}
		console.log('===============================')
	
	
		for(let i in b){ // ์ฒจ์ž๋งŒ ๊ฐ€์ ธ์˜ด
			console.log(b[i]);
		}

 

Array  ์ถ”๊ฐ€

unshift() ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ๋ฐฐ์—ด์˜ ๋งจ ์•ž์ชฝ์— ์ถ”๊ฐ€ํ•˜๊ณ , ์ƒˆ๋กœ์šด ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
push() ๋ฐฐ์—ด์˜ ๋์— ํ•˜๋‚˜ ์ด์ƒ์˜ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ๋ฐฐ์—ด์˜ ์ƒˆ๋กœ์šด ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 

 

 

	<script type="text/javascript">
	var a = [10,20];
	
	console.log(a.join());//๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ฆ
	
	//์š”์†Œ ์ถ”๊ฐ€
	a[2]=30;
	console.log(a.length); // 3
	console.log(a.join()); // 10,20,30
	
	a[4]=40;
	console.log(a.length);//5
	console.log(a.join());//10,20,30,,40
	
	//์กด์žฌํ•˜๋Š” ์ธ๋ฑ์Šค์— ๊ฐ’์„ ํ• ๋‹นํ•˜๋ฉด ๊ฐ’์ด ๋ณ€๊ฒฝ ๋œ๋‹ค.
	a[1]=100;
	console.log(a.join());
	
	var b = [10,20];
	
	//๋’ค์— ์š”์†Œ ์ถ”๊ฐ€
	b.push(30);
	console.log(b.join());
	
	//๊ฐ€์žฅ ์•ž์— ์š”์†Œ ์ถ”๊ฐ€
	b.unshift(5);
	console.log(b.join());
	
	var n = b.unshift(2,3); // ๋ฐฐ์—ด์˜ ๊ธธ์ด ๋ฐ˜ํ™˜
	console.log(b.join());  // 2,3,5,10,20,30
	console.log(n); // 6 
	
	
	</script>

 

	<h3>๋ฐฐ์—ด - ์ค‘๊ฐ„์— ์ถ”๊ฐ€ : splice</h3>

	<script type="text/javascript">
		var a = [ 10, 20, 30 ];

		//๊ฐ€์žฅ ์•ž์— ์ถ”๊ฐ€
		a.splice(0, 0, 'a', 'b');
			//๋ณ€๊ฒฝ ์‹œ์ž‘ ์œ„์น˜, ์‚ญ์ œํ•  ์œ„์น˜ ๋ถ€ํ„ฐ ์‚ญ์ œํ•  ๊ฐœ์ˆ˜,๋ณ€๊ฒฝํ•  ๊ฐ’๋“ค ...
		console.log(a.join()); // a,b,10,20,30
		
		//๊ฐ€์žฅ ๋’ค์— ์ถ”๊ฐ€
		a.splice(a.length,0,'x','y');
		console.log(a.join());// 
		
		
		//์ค‘๊ฐ„์— ์ถ”๊ฐ€
		a.splice(3,0,'o','p');
		console.log(a.join());// a,b,10,o,p,20,30,x,y
		
		var b =[10,20,30,40,50]; // 20๊ณผ 30์ง€์šฐ๊ณ  ๊ทธ์ž๋ฆฌ์— a,b,c ์ถ”๊ฐ€ 
		b.splice(1,2,'a','b','c');
		console.log(b.join());
		
		var c = [10,20,30,40,50]; 
		c.splice(1,3);
		console.log(c.join());
		
	</script>

 

Array  ์‚ญ์ œ 

length ๋ฐฐ์—ด์˜ length ์†์„ฑ๊ฐ’์„ 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์‚ญ์ œ.
pop() ๋ฐฐ์—ด์—์„œ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๊ทธ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๋ฐฐ์—ด์˜ ๊ธธ์ด๋„ ์ค„์–ด๋“ ๋‹ค. 
shift() ๋ฐฐ์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ์ œ๊ฑฐ๋œ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๋ฐฐ์—ด์˜ ๊ธธ์ด๋„ ์ค„์–ด๋“ ๋‹ค.
splice() ๋ฐฐ์—ด์˜ ๊ธฐ์กด ์š”์†Œ๋ฅผ ์‚ญ์ œ ๋˜๋Š” ๊ต์ฒดํ•˜๊ฑฐ๋‚˜ ์ƒˆ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•œ๋‹ค.

 

</head>
<body>

	<h3>๋ฐฐ์—ด-์ œ๊ฑฐ</h3>

	<script type="text/javascript">
	var a = [10,20,30,40,50];
	console.log(a.join());
	
	//length๋ฅผ ์ด์šฉํ•œ ๋งˆ์ง€๋ง‰ ์š”์†Œ ์ œ๊ฑฐ
	a.length=a.length-1;
	console.log(a.join());
	
	//length๋ฅผ ์ด์šฉํ•œ ๋ชจ๋“  ์š”์†Œ ์ œ๊ฑฐ
	a.length=0;
	console.log(a); // []
	console.log(a.length);// 0
	
	
	//pop()๋ฅผ ์ด์šฉํ•œ๋งˆ์ง€๋ง‰ ์š”์†Œ ์ œ๊ฑฐ
	var b = [10,20,30,40,50];
	b.pop();
	console.log(b.join());//10,20,30,40
	
	
	//shift๋ฅผ ์ด์šฉํ•œ ์ฒ˜์Œ ์š”์†Œ ์ œ๊ฑฐ
	b.shift();
	console.log(b.join());//20,30,40 

	</script>

</body>
</html>

 

 

Array sort()

๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ ์ ˆํ•œ ์œ„์น˜์— ์ •๋ ฌํ•œ ํ›„ ๊ทธ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 

 

</head>
<body>

	<h3>๋ฐฐ์—ด - sort</h3>
	
	<script type="text/javascript">
	var a =['BBA','BC','CC','ABC'];
	a.sort(); // ๋ฌธ์ž์˜ ์œ ๋‹ˆ์ฝ”๋“œ๊ฐ’์— ๋”ฐ๋ฅธ ์‚ฌ์ „์‹ ๋ฐฐ์—ด (์˜ค๋ฆ„์ฐจ์ˆœ)
	console.log(a.join()); // ABC,BBA,BC,CC

	var b = [55,7,10,35,44];
	b.sort(); // ์ˆซ์ž๋Š” ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์œ ๋‹ˆ์ฝ”๋“œ ๊ฐ’์— ๋”ฐ๋ฅธ ์‚ฌ์ „์‹ ๋ฐฐ์—ด 
	console.log(b.join()); // 10,35,44,55,7
	
	var c =['BBA','BC','CC','ABC'];
	
	
	//์ •๋ ฌ ๊ธฐ์ค€์„ค์ • 
	// ์˜ค๋ฆ„์ฐจ์ˆœ์ •๋ ฌ, c.sort()ํ•ด๋„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋จ 
	c.sort(function(x,y){ 
		if(x>y)return 1; // ์–‘์ˆ˜๋ฅผ ๋Œ๋ ค์ฃผ๋ฉด 
		else if(x<y) return -1; 
		else return 0;
	});
	console.log(c.join()); 
	
	// ๋‚ด๋ฆผ์ฐจ์ˆœ์ •๋ ฌ
	/*var d =['BBA','BC','CC','ABC'];
	c.sort(function(x,y){ 
		if(x>y)return -1; 
		else if(x<y) return 1; 
		else return 0;
	});
	console.log(c.join());*/
	
	//c.sort=>
	
	var d =['BBA','BC','CC','ABC'];
	d.sort((x,y) => { 
		if(x>y)return -1; 
		else if(x<y) return 1; 
		else return 0;
	});
	console.log(d.join());
	
	
	//์ˆซ์ž ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ๋ฐฉ๋ฒ• 
	var e = [55,7,10,35,40];
	e.sort((x,y)=>x-y);
	console.log(e.join());
	
	//์ˆซ์ž ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ ๋ฐฉ๋ฒ• 
	var f = [55,7,10,35,40];
	e.sort((x,y) => -(x-y));
	console.log(e.join());
	
	
	
	</script>
    
</body>
</html>

 

 

 

forEach()

๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•˜์—ฌ ์ธ์ž๋กœ ์ฃผ์–ด์ง„ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๋ฐ˜ํ™˜๊ฐ’์€ undefined. ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด ์š”์†Œ์˜ ๊ฐ’, ์š”์†Œ ์ธ๋ฑ์Šค, forEach ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๋ฐฐ์—ด,์ฆ‰ this๋ฅผ ์ „๋‹ฌ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. 

 

</head>
<body>


	<p>
		<mark>forEach</mark>
		
	</p>

	<script type="text/javascript">
	
	var a =[1,2,3,4,5];
	var s = 0;
	
	//forEach๋Š” break๊ฐ€ ์—†์œผ๋ฉฐ, return falseํ•ด๋„ ๋น ์ ธ ๋‚˜์˜ค์ง€ ๋ชปํ•œ๋‹ค. 

// 	a.forEach(function(item){
// 		s+=item;
// 	});
	

	a.forEach(item=>s+=item);
	console.log(s);

	var b=[10,20,30,40,50];
	b.forEach(function(item,index){
		console.log(item,index);
	});
	
	</script>


</body>
</html>

 

 

 

Map()