[TIL] ๋ฐฐ์—ด(Array) ๐Ÿ˜Š

๊น€์œคํ˜œยท2022๋…„ 11์›” 7์ผ
0

ํ‚ค์›Œ๋“œ
index, element, console.table, !== -1, Array.isArray, ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œย 


๋ฐฐ์—ด; ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฐ’ [a,b,c...]

let myNum = [1, 2, 3]

myNum[2]; // 3
myNum[3]; // undefined



let myNum2 = [[1,2], [3,4], [5,6]]

myNum[2]; // [5,6]
myNum[2][0]; // 5

๋ฐฐ์—ด์˜ ๋ฐ˜๋ณต

// ๋ฐฐ์—ด myNum์˜ ์ธ๋ฑ์Šค๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•
// myNum์˜ ์ธ๋ฑ์Šค => myNum[];
// ์ถœ๋ ฅ๊ฐ’: console.log(myNum[]);

let myNum = [1, 2, 3, 4];

for (let i = 0; i < myNum.length; i++) {
	console.log(myNum[i]);
} 

// 1
// 2
// 3
// 4
let myNum = [1, 2, 3, 4]
let sum = 0;

for (let i = 0; i < myNum.length; i++) {
	sum = sum + myNum[i]
} // 10

// ๋‚ด์šฉ์€ ์ดํ•ด๊ฐ€ ๋˜๋Š”๋ฐ ์œ„์— ์ถœ๋ ฅํ•œ๋‹ค๋Š” ๋‚ด์šฉ์˜ ์ฝ”๋“œ๊ฐ€ ์—†๋Š”๋ฐ๋„ ์ถœ๋ ฅ๊ฐ’์ด ๋ฐ˜ํ™˜๋œ๋‹ค. ์•„์ง ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ์ž‘๋™ํ•˜๋Š” ์›๋ฆฌ๊ฐ€ ์ •๋ฆฌ๋˜์ง€ ์•Š์€ ๋“ฏ. ์ผ๋‹จ ์ตœ์ข…๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ช…๋ น์–ด๋Š” return, console.log, console.table. ์ด๋ ‡๊ฒŒ 3๊ฐœ๋ฅผ ๋ฐฐ์› ๋‹ค. ์ฒซ๋ฒˆ์งธ return์€ ํ•จ์ˆ˜๋กœ ๋œ ์ฝ”๋“œ์ผ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด์ด๊ณ , console.log๋Š” ์ฝ”๋“œ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ณ  ์ฝ˜์†”์—์„œ ํ™•์ธํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ. ๋งˆ์ฐฌ๊ฐ€์ง€ console.table ์—ญ์‹œ ์ฝ˜์†”์—์„œ๋งŒ ํ™•์ธํ•˜๋Š” ๊ฐ’์œผ๋กœ, ํ…Œ์ด๋ธ”๋กœ ์ •๋ฆฌ๋˜์–ด ์žˆ๋‹ค. ๋ฐ”๋กœ ์œ„ ์˜ˆ์‹œ์—์„œ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ˆ๊นŒ ๋ฆฌํ„ด์€ ์ œ์™ธ. console.log(sum)์„ ๋์— ์ถ”๊ฐ€ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.ย 

let myNum = [1, 2, 3, 4]
let sum = 0;

for (let i = 0; i < myNum.length; i++) {
	sum = sum + myNum[i]
    console.log(sum); 
}

// 1
// 3
// 6
// 10

์ •๋ฆฌํ•˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์€ ์ฝ˜์†”.๋กœ๊ทธ๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๋ฐ˜๋ณตํ•œ ์ˆ˜์‹๋งˆ๋‹ค ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ๋”ฐ๋กœ ์ถœ๋ ฅ์„ ์œ„ํ•œ ๋ช…๋ น์–ด๋ฅผ ๋‘์ง€ ์•Š์•„๋„ ์ตœ์ข…๊ฐ’์€ ๋„์ถœ๋œ๋‹ค.

Array.isArray

typeof '๋ฌธ์ž์—ด' // "string"

typeof 123 // "number"

typeof [] // "object" // ๊ฐ์ฒด

Array.isArray([]) // true


//typeof => ์—ฐ์‚ฐ์ž
// Array.isArray() => ๋ฉ”์†Œ๋“œ

๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ_์ถ”๊ฐ€, ์‚ญ์ œ push(),ย unshift(),ย pop(),ย shift()

let arr = ['b', 'c'];

arr.push('d') // 3 
console.log(arr) // (3) ['b', 'c', 'd']


arr.unshift('a') // 4
console.log(arr) // (4) ['a', 'b', 'c', 'd']


arr.pop() // 'd'
console.log(arr) // (3) ['a', 'b', 'c']


arr.shift() // 'a'
console.log(arr) // (2) ['b', 'c']

๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ_ํ™•์ธ indexOf(), includes()

let words = ['Republic', 'of', 'Korea']

words.indexOf('Korea') // 2

words.indexOf('KOREA') // -1

// ๋ณ€์ˆ˜์— ํŠน์ • ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•(1)
words.indexOf('Korea') !== -1 // true
words.indexOf('KOREA') !== -1 // false

// ๋ณ€์ˆ˜์— ํŠน์ • ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•(2)
words.includes('Korea') // true 

//includes๋Š” ์ธํ„ฐ๋„› ์ต์Šคํ”Œ๋กœ๋Ÿฌ์—์„œ ์‚ฌ์šฉX

์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ

function hasElement(arr, element){
	return arr.indexOf(element) !== -1
}

hasElement([1, 2, 3], 1) // true


// ๊ฐ™์€ ๋‚ด์šฉ์ธ๋ฐ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•
function hasElement(arr, element){
	let isPresent = arr.indexOf(element) !== -1
    return isPresent;
}

hasElement([1, 2, 3], 1) // true

๋ฐฐ์—ด ํ”„๋กœํผํ‹ฐ; slice() โ€ข splice()ย โ€ข join()

  • slice(begin, end)

    • begin : 0์„ ์‹œ์ž‘์œผ๋กœ ํ•˜๋Š” ์ถ”์ถœ ์‹œ์ž‘์ ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค

    • end : ์ถ”์ถœ์„ ์ข…๋ฃŒ ํ•  0 ๊ธฐ์ค€ ์ธ๋ฑ์Šค, endย ์ธ๋ฑ์Šค๋ฅผ ์ œ์™ธ

  • splice(begin, delete, item)

    • begin : ๋ฐฐ์—ด ๋ณ€๊ฒฝ์„ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค

    • delete :ย ๋ฐฐ์—ด์—์„œ ์ œ๊ฑฐํ•  ์š”์†Œ์˜ ์ˆ˜. deleteCount๊ฐ€ 0 ์ดํ•˜๋ผ๋ฉด ์–ด๋–ค ์š”์†Œ๋„ ์ œ๊ฑฐX

    • item1 : ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์š”์†Œ.ย 

  • join()

    • ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ฌ
const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join());
// expected output: "Fire,Air,Water"

console.log(elements.join(''));
// expected output: "FireAirWater"

console.log(elements.join('-'));
// expected output: "Fire-Air-Water"

- mdn ์ฐธ์กฐ

profile
๋ณธ์งˆ์—๋Š” ์ผ์น˜๋ฅผ, ๋น„๋ณธ์งˆ์—๋Š” ๊ด€์šฉ์„, ์ด ๋ชจ๋“  ๊ฒƒ์— ์‚ฌ๋ž‘์„

0๊ฐœ์˜ ๋Œ“๊ธ€