๐ ๋ฐฐ์ด(array)
๋ฐฐ์ด์ ์ฌ๋ฌ ์๋ฃ๋ฅผ ๋ฌถ์ด์ ํ์ฉํ ์ ์๋ ํน์ํ ์๋ฃ๋ค.
๐ ๋ฐฐ์ด ๋ง๋ค๊ธฐ
[์์, ์์, ์์, ์์, ... , ์์]
๋ฐฐ์ด์ ์ฌ๋ฌ ๊ฐ์ ๋ณ์๋ฅผ ํ ๋ฒ์ ์ ์ธํด ๋ค๋ฃฐ ์ ์๋ ์๋ฃํ์ด๋ค.
๋๊ดํธ[...]๋ฅผ ์ฌ์ฉํด ์์ฑํ๊ณ ๋ด๋ถ์ ๊ฐ์ ์ผํ(,)๋ก ๊ตฌ๋ถํด ์ ๋ ฅํ๋ค.
๋ฐฐ์ด ๋ด๋ถ์ ๋ค์ด ์๋ ๊ฐ์ ์์(element)๋ผ๊ณ ํ๋ค.
์ด๋ ํ ์ข ๋ฅ์ ์๋ฃํ๋ ์์๊ฐ ๋ ์ ์๋ค.
const arr = [176, 'String', true, function () { }, {}, [123, 456]]
๐ ๋ฐฐ์ด ์์์ ์ ๊ทผํ๊ธฐ
๋ฐฐ์ด[์ธ๋ฑ์ค]
๋ฐฐ์ด์ ๊ธฐ๋ณธ์ ์ธ ์กฐ์์ ๋ฌธ์์ด๊ณผ ๋น์ทํ๋ค. → ์ธ๋ฑ์ค(index)๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผํ ์ ์๋ค.
const array = [279, 1013, 'SSAFY', 'AI', true, false]
console.log(array[0]); // 279
console.log(array[1]); // 1013
console.log(array[2]); // 'SSAFY'
console.log(array[3]); // 'AI'
console.log(array[4]); // true
console.log(array[5]); // false
๋ฐฐ์ด์ด ์์์ ์ ๊ทผํ์ฌ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
array[0] = 0;
console.log(array[0]); // 0
๐ ๋ฐฐ์ด ์์ ๊ฐ์ ํ์ธํ๊ธฐ
๋ฐฐ์ด.length
const name = ['Kim', 'Park', 'Lee', 'Choi']
name.length // 4
name[name.length - 1] // 'Choi'
โป ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๋ฅผ ์ ํํ ๋ ์์ฃผ ์ฌ์ฉํ๋ ํจํด : arr.length - 1
cf) ํ์ด์ฌ : arr[-1]
๐ ๋ฐฐ์ด ๋ท๋ถ๋ถ์ ์์ ์ถ๊ฐํ๊ธฐ
๋ฐฐ์ด.push(์์)
const fruits = ['apple', 'banana', 'graph']
fruits.push('tomato')
console.log(fruits) // ['apple', 'banana', 'graph', 'tomato']
cf) ํ์ด์ฌ : arr.append(value)
(์ฃผ์)์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํด ๋ฐฐ์ด ๋ท๋ถ๋ถ์ ์์ ์ถ๊ฐํ๊ธฐ
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด์ ๊ธธ์ด๋ ๊ณ ์ ์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ธธ์ด ์ด์์ ์ธ๋ฑ์ค๋ก ์์๋ฅผ ์ถ๊ฐํ๋ฉด ์ค๊ฐ์ ๋น ์๋ฆฌ๋ empty๊ฐ ๋๋ค.
const temp = ['A', 'B', 'C']
temp[10] = 'Z'
console.log(temp) // ['A', 'B', 'C', empty x 7, 'Z']
๐ ๋ฐฐ์ด ์์ ์ ๊ฑฐํ๊ธฐ
๋ฐฐ์ด์ ์์๋ฅผ ์ ๊ฑฐํ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ 2๊ฐ์ง๊ฐ ์๋ค.
- ์ธ๋ฑ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ฑฐ
- ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ฑฐ
1. ์ธ๋ฑ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ฑฐ
๋ฐฐ์ด.splice(์ธ๋ฑ์ค, ์ ๊ฑฐํ ์์์ ๊ฐ์)
ํ๋์ ๊ฐ์ ์ ๊ฑฐํ๋ ค๋ฉด ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์์ 1์ ์ง์ ํ๋ฉด ๋๋ค.
const brand = ['Samsung', 'LG', 'Apple']
brand.splice(2, 1) // 'Apple'
console.log(brand) // ['Samsung', 'LG']
cf) ํ์ด์ฌ : del arr[index]
2. ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ฑฐ
const index = arr.indexOf(element)
arr.splice(index, 1)
indexOf() ๋ฉ์๋๋ ๋ฐฐ์ด ๋ด๋ถ์ ์์๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ์ธ๋ฑ์ค๋ฅผ ๋ฆฌํดํ์ง๋ง, ์ฐพ๊ณ ์ ํ๋ ์์๊ฐ ์์ ๊ฒฝ์ฐ -1์ ๋ฆฌํดํ๋ค.
const alpha = ['A', 'B', 'C']
const index = alpha.indexOf('B')
index // 1
alpha.splice(index, 1) // 'B'
console.log(alpha) // ['A', 'C']
alpha.indexOf('B') // -1
โป splice() ๋ฉ์๋๋ ๋ฐฐ์ด ๋ด๋ถ ์์๋ฅผ ํ๋๋ง ์ ๊ฑฐํ ์ ์๋ค. ๋ง์ฝ, ๋ฐฐ์ด ๋ด๋ถ์์ ํน์ ๊ฐ์ ๋ชจ๋ ์ ๊ฑฐํ๊ณ ์ถ์ผ๋ฉด '๋ฐ๋ณต๋ฌธ' ๋๋ 'filter()' ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
const alpha = ['A', 'B', 'C', 'C', 'C']
alpha.filter((item) => item !== 'C')
alpha // ['A', 'B']
๐ ๋ฐฐ์ด์ ํน์ ์์น์ ์์ ์ถ๊ฐํ๊ธฐ
arr.splice(index, 0, element)
splice() ๋ฉ์๋๋ ๋ฐฐ์ด์ ํน์ ์์น์ ์์๋ฅผ ์ถ๊ฐํ ๋๋ ์ฌ์ฉํ๊ณ , ์ ๊ฑฐํ ๋๋ ์ฌ์ฉํ๋ค.
const alpha = ['A','C']
alpha.splice(1, 0, 'B')
alpha // ['A', 'B', 'C']
โป ์ฐธ๊ณ ๋์ : ํผ์ ๊ณต๋ถํ๋ ์๋ฐ์คํฌ๋ฆฝํธ(ํผ๊ณต์ค)
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์๋ฐ์คํฌ๋ฆฝํธ - ํจ์ (0) | 2021.03.29 |
---|---|
[JS] ์๋ฐ์คํฌ๋ฆฝํธ - ๋ฐ๋ณต๋ฌธ (0) | 2021.01.29 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ - ์กฐ๊ฑด๋ฌธ (0) | 2021.01.27 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด (0) | 2021.01.26 |
๋๊ธ