.filter()
filter() ๋ฉ์๋๋ ์ฃผ์ด์ง ํจ์์ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ๋ชจ๋ ์์๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
๋ง๋ค์ด๋ธ ์กฐ๊ฑด์ ๋ง๋ ๋ด์ฉ์ ๊ฑธ๋ฌ๋ธ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค.
const numbers = [1, 2, 3, 4]
const fruits = ['Apple', 'Banana', 'Cherry']
const a = numbers.map(number => number < 3)
console.log(a)
const b = numbers.filter(number => number < 3)
console.log(b)
console.log(numbers)
์คํ ๊ฒฐ๊ณผ
[ true, true, false, false ]
[ 1, 2 ]
[ 1, 2, 3, 4 ]
.map()์ ์ฌ์ฉํ๋ฉด number๋ true or false๋ก boolean ๋ฐ์ดํฐ๋ก ์กฐ๊ฑด์ ๋ฐ๋ผ ์ถ์ถํ๊ฒ ๋๋ค.
.filter()๋ฅผ ์ฌ์ฉํ๋ฉด number๋ ์กฐ๊ฑด์ ๋ง๋ ์ซ์๋ก ์ถ์ถํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค.
.find() / .findIndex()
find() ๋ฉ์๋๋ ์ฃผ์ด์ง ํ๋ณ ํจ์๋ฅผ ๋ง์กฑํ๋ ์ฒซ ๋ฒ์งธ ์์์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
๊ทธ๋ฐ ์์๊ฐ ์๋ค๋ฉด undefined๋ฅผ ๋ฐํํฉ๋๋ค.
findIndex() ๋ฉ์๋๋ ์ฃผ์ด์ง ํ๋ณ ํจ์๋ฅผ ๋ง์กฑํ๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ๋ํ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํฉ๋๋ค.
๋ง์กฑํ๋ ์์๊ฐ ์์ผ๋ฉด -1์ ๋ฐํํฉ๋๋ค.
const numbers = [1, 2, 3, 4]
const fruits = ['Apple', 'Banana', 'Cherry']
const a = fruits.find(fruit => /^B/.test(fruit))
console.log(a)
const b = fruits.findIndex(fruit => /^C/.test(fruit))
console.log(b)
์คํ ๊ฒฐ๊ณผ
Banana
2
์๊ธ์๊ฐ B๋ก ์์ํ๋ ์ธ๋ฑ์ค๋ง ์ถ์ถํ์ฌ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
Cherry๋ผ๋ index์ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ zerobased์ ๊ธฐ์ดํด์ 2๋ฅผ ๋ฐํํ๋ค.
.includes()
includes() ๋ฉ์๋๋ ๋ฐฐ์ด์ด ํน์ ์์๋ฅผ ํฌํจํ๊ณ ์๋์ง ํ๋ณํ๋ค.
const numbers = [1, 2, 3, 4]
const fruits = ['Apple', 'Banana', 'Cherry']
const a = numbers.includes(3)
console.log(a)
const b = fruits.includes('Imae')
console.log(b)
์คํ ๊ฒฐ๊ณผ
true
false
3๋ฒ์งธ ์ธ๋ฑ์ค์๋ Cherry๋ผ๋ ๋ด์ฉ์ด ์์ผ๋ true
imae๋ผ๋ ๋ด์ฉ์ด fruits์ ์กด์ฌํ์ง ์์ผ๋ฏ๋ก false
.push() / .unshift()
push() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋์ ํ๋ ์ด์์ ์์๋ฅผ ์ถ๊ฐํ๊ณ , ๋ฐฐ์ด์ ์๋ก์ด ๊ธธ์ด๋ฅผ ๋ฐํํ๋ค.
unshift() ๋ฉ์๋๋ ์๋ก์ด ์์๋ฅผ ๋ฐฐ์ด์ ๋งจ ์์ชฝ์ ์ถ๊ฐํ๊ณ , ์๋ก์ด ๊ธธ์ด๋ฅผ ๋ฐํํ๋ค.
โป ์๋ณธ์ด ์์ ๋๋ค.
const numbers = [1, 2, 3, 4]
const fruits = ['Apple', 'Banana', 'Cherry']
numbers.push(5)
console.log(numbers)
numbers.unshift(0)
console.log(numbers)
์คํ ๊ฒฐ๊ณผ
[ 1, 2, 3, 4, 5 ]
[ 0, 1, 2, 3, 4, 5 ]
push ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋งจ ๋ค ์ธ๋ฑ์ค์ 5๊ฐ ์ถ๊ฐ๋์๋ค.
unshift ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋งจ ์ ์ธ๋ฑ์ค์ 0์ด ์ถ๊ฐ๋์๋ค.
.reverse()
reverse() ๋ฉ์๋๋ ๋ฐฐ์ด์ ์์๋ฅผ ๋ฐ์ ๋๋ค. ์ฒซ ๋ฒ์งธ ์์๋ ๋ง์ง๋ง ์์๊ฐ ๋๋ฉฐ ๋ง์ง๋ง ์์๋ ์ฒซ ๋ฒ์งธ ์์๊ฐ ๋๋ค.
โป ์๋ณธ์ด ์์ ๋๋ค.
const numbers = [1, 2, 3, 4]
const fruits = ['Apple', 'Banana', 'Cherry']
numbers.reverse()
fruits.reverse()
console.log(numbers)
console.log(fruits)
์คํ ๊ฒฐ๊ณผ
[ 4, 3, 2, 1 ]
[ 'Cherry', 'Banana', 'Apple' ]
.splice()
slice() ๋ฉ์๋๋ ๋ฌธ์์ด์ ์ผ๋ถ๋ฅผ ์ถ์ถํ๋ฉด์ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ค.
โป ์๋ณธ์ด ์์ ๋๋ค.
์์ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ญ์ ํ ์ ์๋ค.
const numbers = [1, 2, 3, 4]
const fruits = ['Apple', 'Banana', 'Cherry']
numbers.splice(2, 1)
console.log(numbers)
numbers.splice(2, 0, 99)
console.log(numbers)
fruits.splice(2, 0, 'Orange')
console.log(fruits)
์คํ ๊ฒฐ๊ณผ
[ 1, 2, 4 ]
[ 1, 2, 99, 4 ]
[ 'Apple', 'Banana', 'Orange', 'Cherry' ]
2๋ฒ ์ธ๋ฑ์ค๋ถํฐ 1๊ฐ๋ฅผ ์ ๊ฑฐํ๋ค. 2๋ฒ์ธ๋ฑ์ค๋ถํฐ 0๊ฐ ์ญ์ ํ๊ณ ๊ทธ ์์น์ 99๋ฅผ ์ถ๊ฐํ๋ค. 2๋ฒ์ธ๋ฑ์ค๋ถํฐ 0๊ฐ ์ญ์ ํ๊ณ ๊ทธ ์์น์ Orange๋ฅผ ์ถ๊ฐํ๋ค.
'๐ค Language > ๐จ JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JS. ๊ตฌ์กฐ ๋ถํด ํ ๋น / ๋น๊ตฌ์กฐํ ํ ๋น / Destructuring assignment (0) | 2022.02.23 |
---|---|
JS. ๊ฐ์ฒด (0) | 2022.02.23 |
JS. ๋ฐฐ์ด (1) / Array (0) | 2022.02.20 |
JS. ์ํ ๊ฐ์ฒด / Math (0) | 2022.02.20 |
JS. ๋ฌธ์ (0) | 2022.02.20 |