๐Ÿ’ปProgramming/๐Ÿƒ‍โ™€๏ธJavaScript

[JavaScript] ๋‚ด์žฅ ๊ฐ์ฒด - Array

yeony._. 2022. 9. 22. 00:20

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์žฅ ๊ฐ์ฒด์—๋Š” ์›น ๋ฌธ์„œ์˜ ๊ณ„์ธต ๊ตฌ์กฐ์™€ ์ƒ๊ด€ ์—†์ด ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค.

Array ๊ฐ์ฒด์™€ Date ๊ฐ์ฒด๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค. 

 

Array ๊ฐ์ฒด 

์ผ๋ จ์˜ ๊ฐ’๋“ค์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ์˜ ๊ณ ์ˆ˜์ค€ ๊ฐ์ฒด

๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋Š” ๋ฐฐ์—ด์˜ ์ด๋ฆ„๊ณผ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜์—ฌ ์‚ฌ์šฉ 

ํƒ€์ž…์ด ๊ณ ์ •์  โŒ  ๊ฐ™์€ ๋ฐฐ์—ด์— ์žˆ๋Š” ์›์†Œ์˜ ํƒ€์ž…์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ 

ํฌ๊ธฐ๊ฐ€ ๋™์  ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ํฌ๊ธฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ํฌ๊ธฐ๋ฅผ ๋‹ค์‹œ ๋ณ€๊ฒฝํ•  ํ•„์š” ์—†์Œ 

 

 

Array ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ

Array() ์ƒ์„ฑ์ž๋ฅผ ์ด์šฉํ•œ ๋ฐฐ์—ด ์ƒ์„ฑ 

var b1 = new Array();
var b2 = new Array(5); //ํฌ๊ธฐ๊ฐ€ 5์ธ ๋ฐฐ์—ด. ๋ชจ๋“  ์š”์†Œ๋Š” undefined ๊ฐ’์„ ๊ฐ€์ง
var b3 = new Array(3, 5); // ์ƒ์„ฑ์ž์˜ ์ธ์ž๊ฐ€ ๋‘๊ฐœ ์ด์ƒ์ด๋ฉด ์ดˆ๊ธฐ๊ฐ’. ํฌ๊ธฐ๊ฐ€ 2์ž„

 

๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”

var a = [ 10, 20, 30 ];

 

concat ๊ธฐ์กด ๋ฐฐ์—ด์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋งŒ๋“ฆ 
every ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์ฐธ์ด๋ฉด trUe๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜
filter ๋ฐฐ์—ด ์š”์†Œ ์ค‘์—์„œ ์ฃผ์–ด์ง„ ํ•„ํ„ฐ๋ง ํ•จ์ˆ˜์— ๋Œ€ํ•ด true์ธ ์š”์†Œ๋งŒ ๊ณจ๋ผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ฆ 
fortach ๋ฐฐ์—ด ์š”์†Œ ์ค‘์—์„œ ์ฃผ์–ด์ง„ ํ•„ํ„ฐ๋ง ํ•จ์ˆ˜์— ๋Œ€ํ•ด true์ธ ์š”์†Œ๋งŒ ๊ณจ๋ผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ฆ 
indexof ์ฃผ์–ด์ง„ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฐ’์ด ์žˆ๋Š” ๋ฐฐ์—ด ์š”์†Œ์˜ ์ฒซ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์Œ
join ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ๋ฌธ์ž์—ด๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๊ตฌ๋ถ„์ž๋ฅผ ์ง€์ •
push ๋ฐฐ์—ด์˜ ๋งจ ๋์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ ์ƒˆ๋กœ์šด Length๋ฅผ ๋ฐ˜ํ™˜
unshift ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€
pop ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ๊บผ๋‚ด ๊ทธ ๊ฐ’์„ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜
shift ๋ฐฐ์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๊บผ๋‚ด ๊ทธ ๊ฐ’์„ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜
splice ๋ฐฐ์—ด์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œ
slice ๋ฐฐ์—ด์—์„œ ํŠน์ •ํ•œ ๋ถ€๋ถ„๋งŒ ์ž˜๋ผ๋ƒ„
reverse ๋ฐฐ์—ด์˜ ๋ฐฐ์น˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋ฐ”๊ฟˆ
sort ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ์ง€์ •ํ•œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๋ ฌ
toString ๋ฐฐ์—ด์—์„œ ์ง€์ •ํ•œ ๋ถ€๋ถ„์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜. ์ด๋•Œ ๊ฐ ์š”์†Œ๋Š” ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„

 

๋ฐฐ์—ด์˜ ์ˆœํšŒ

1) for๋ฌธ์„ ์ด์šฉํ•œ ์ˆœํšŒ

var arr = [2, 4, 6, , 8];
for(var i-0; i<arr.length; i++){
	if (a[i]) {
		console.log(a[i]); // 10 20 40 
}

๋ฐฐ์—ด์˜ ์›์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— null, undefined, ๋นˆ ์›์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ œ์™ธํ•ด์ค˜์•ผ ํ•จ 

 

2) for ~ of๋ฌธ์„ ์ด์šฉํ•œ ์ˆœํšŒ

for (let n of a){ // ES6 ์ถ”๊ฐ€๋œ ์ปฌ๋ ‰์…˜ ๋ฐ˜๋ณต ๊ตฌ๋ฌธ 
	console.log(n); // 10 20 30
}

for~of๋ฌธ์€ ES6์— ์ถ”๊ฐ€๋œ ์ƒˆ๋กœ์šด ์ปฌ๋ ‰์…˜ ์ „์šฉ ๋ฐ˜๋ณต ๊ตฌ๋ฌธ

 

๋”๋ณด๊ธฐ
<script type="text/javascript">
		var a = [ 10, 20, , 40, 0 ];

		// ๋ฐฐ์—ด  ์š”์†Œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ 
		for (let i = 0; i < a.length; i++) {
			console.log(a[i]); // 10 20 undefined 40 0

		}

		console.log('-----------');

		for (let i = 0; i < a.length; i++) {
			if (a[i]) {
				console.log(a[i]); // 10 20 40
			}
		}

		console.log('-----------');
		
		
		var b = [10,20, 30];
		
		for (let n of b){ // ES6 ์ถ”๊ฐ€๋œ ์ปฌ๋ ‰์…˜ ๋ฐ˜๋ณต ๊ตฌ๋ฌธ 
			console.log(n); // 10 20 30
		}
		
		console.log('-----------');

		for (let n in b){ // ์ฒจ์ž๋งŒ ๋ฐ˜ํ™˜ 
			console.log(n); // 0 1 2
		}
		
		
		console.log('-----------');

		for (let n in b){ 
			console.log(b[n]); // 10 20 30 
		}
		
		
</script>

 

์š”์†Œ ์‚ญ์ œ

๋งˆ์ง€๋ง‰ ์š”์†Œ ์‚ญ์ œ

๋ฐฐ์—ด์˜ length ์†์„ฑ ๊ฐ’์„ 1 ๊ฐ์†Œํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ์š”์†Œ๊ฐ€ ์‚ญ์ œ๋จ 

a.length = a.length - 1;

 

 

๋ชจ๋“  ์š”์†Œ ์‚ญ์ œ

arr.lengh = 0;

๋ฐฐ์—ด์˜ length ์†์„ฑ ๊ฐ’์„ 0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์‚ญ์ œ๋จ 

 

pop() ๋ฉ”์†Œ๋“œ 

๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๊ทธ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๋ฐฐ์—ด์˜ ๊ธธ์ด๋„ ์ค„์–ด๋“ฆ

var arr = [2, 4, 6];
var n = arr. shift();
console.log(arr); // [4, 6] 
console.log(n); // 2

 

delete ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด ์‚ญ์ œ 

delete๋กœ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” ๋ณ€ํ•˜์ง€ ์•Š์œผ๋ฉฐ undefined ํ• ๋‹น

var arr = [2, 4, 6];
delete(arr[0]); 
console.log(arr[0]);

 

splice()

๋ฐฐ์—ด์˜ ๊ธฐ์กด ์š”์†Œ๋ฅผ ์‚ญ์ œ ๋˜๋Š” ๊ต์ฒดํ•˜๊ฑฐ๋‚˜ ์ƒˆ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝ

var arr = [2,4,6,8]; 
arr.splice(1, 0, 3); // ์ถ”๊ฐ€
console.log(arr); // [2,3,4,6,8]

arr.splice(4, 1, 9); // 4๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ 1๊ฐœ์˜ ์š”์†Œ๋ฅผ 9๋กœ ๋ณ€๊ฒฝ 
console.log(arr); // [2,3,4,6,9]

start: ๋ฐฐ์—ด์˜ ๋ณ€๊ฒฝ์„ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค, ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ํฐ ๊ฐ’์ด๋ฉด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋กœ ์„ค์ •

delete: ์„ ํƒ์‚ฌํ•ญ. ์ œ๊ฑฐํ•  ์š”์†Œ์˜ ์ˆ˜ 

 

indexOf()

๋ฐฐ์—ด์—์„œ ์ง€์ •๋œ ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜ 

 

lastIndexOf()

์ง€์ •๋œ ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด์—์„œ ๋ฐœ๊ฒฌ๋˜๋ฆฌ ์ˆ˜ ์žˆ๋Š” ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜. ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1์„  ๋ฐ˜ํ™˜ 

 

join() 

๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ฆ

 

reverse()

๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๋ฐ˜์ „

 

sort()

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

 

forEach()

๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•˜์—ฌ ์ธ์ž๋กœ ์ฃผ์–ด์ง„ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•จ