[TIL] ๋ฐฐ์—ด์˜ method ๐Ÿคฏ

Edenยท2022๋…„ 7์›” 25์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
14/41
post-custom-banner

โœ… study keyword

๋ฐฐ์—ด์˜ ๋ฉ”์„œ๋“œ 5๊ฐ€์ง€์™€ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž!

๋ฐฐ์—ด์˜ method

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฐฐ์—ด์„ ๋‹ค๋ฃฐ ๋•Œ ์œ ์šฉํ•œ ๋‹ค์–‘ํ•œ ๋นŒํŠธ์ธ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • Array ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋Š” ์ •์  ๋ฉ”์„œ๋“œ๋ฅผ, ๋ฐฐ์—ด ๊ฐ์ฒด์˜ ํ”„๋กœํ†  ํƒ€์ž…์ธ Array.prototype์€ ํ”„๋กœํ† ํƒ€์ž… ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

๊ฒฐ๊ณผ๋ฌผ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ํŒจํ„ด
1> ์›๋ณธ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฉ”์„œ๋“œ
2> ์›๋ณธ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ

1. slice()

slice ๋ฉ”์„œ๋“œ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ๋ฒ”์œ„์˜ ์š”์†Œ๋“ค์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด๋•Œ ์›๋ณธ ๋ฐฐ์—ด์€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค.

slice(start[, end])

parameter

start
๋ณต์‚ฌ๋ฅผ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค.
end
๋ณต์‚ฌ๋ฅผ ์ข…๋ฃŒํ•  ์ธ๋ฑ์Šค. ์ด๋•Œ, end index์˜ ์ง์ „๊นŒ์ง€์˜ ์š”์†Œ๋งŒ ์ถ”์ถœ๋œ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

<script>
const arr = [1, 2, 3]
// arr[0]๋ถ€ํ„ฐ arr[1] ์ง์ „๊นŒ์ง€ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ 
arr.slice(0, 1) // [1]
// arr[1]๋ถ€ํ„ฐ arr[2] ์ง์ „๊นŒ์ง€ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ 
arr.slice(1, 2) // [2]
// ์›๋ณธ์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ
console.log(arr); // [1, 2, 3]
</script>

์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜(start)๋กœ ์ „๋‹ฌ ๋ฐ›์€ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜(end)๋กœ ์ „๋‹ฌ ๋ฐ›์€ ์ธ๋ฑ์Šค ์ง์ „๊นŒ์ง€ ์š”์†Œ๋“ค์„ ๋ณต์‚ฌํ•ด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

<script>
const arr = [1, 2, 3]
// arr[1] ๋ถ€ํ„ฐ ์ดํ›„์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ 
arr.slice(1) // [2, 3]
</script>

๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

<script>
const arr = [1, 2, 3]
// ๋ฐฐ์—ด์˜ ๋์—์„œ ๋ถ€ํ„ฐ ๋ชจ๋“  ์š”์†Œ๋ฅผ ํ•œ๊ฐœ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ 
arr.slice(-1) // [3]
// ๋ฐฐ์—ด์˜ ๋์—์„œ๋ถ€ํ„ฐ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋‘๊ฐœ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐ˜ํ™˜
arr.slice(-2) // [2, 3]
</script>

์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๊ฐ€ ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ ๋์—์„œ ๋ถ€ํ„ฐ ์š”์†Œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

<script>
const arr = [1, 2, 3]
// ์ธ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ƒ๋žตํ•˜๋ฉด ์›๋ณธ ๋ฐฐ์—ด์˜ ๋ณต์‚ฌ๋ณธ ์ƒ์„ฑ ํ›„ ๋ฐ˜ํ™˜
const copy = arr.slice()
console.log(copy); // [1, 2, 3]
console.log(copy === arr); // false
</script>

์ธ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ƒ๋žตํ•˜๋ฉด ์›๋ณธ ๋ฐฐ์—ด์˜ ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

2. splice()

์›๋ณธ ๋ฐฐ์—ด์˜ ์ค‘๊ฐ„์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ค‘๊ฐ„์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•ด ์›๋ณธ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๊ณ  ์ œ๊ฑฐํ•œ ์š”์†Œ๋ฅผ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
splice(start[, deleteCount[,item1[, item2[, ...]]]])

parameter

start
์›๋ณธ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค๋กœ start๋งŒ ์ง€์ •ํ•˜๋ฉด ์›๋ณธ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ ๋์—์„œ์˜ ์ธ๋ฑ์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
deleteCount(option)
์›๋ณธ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค์ธ start๋ถ€ํ„ฐ ์ œ๊ฑฐํ•  ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋กœ 0์ธ ๊ฒฝ์šฐ ์•„๋ฌด๋Ÿฐ ์š”์†Œ๋„ ์ œ๊ฑฐ๋˜์ง€ ์•Š๋Š”๋‹ค.
items(option)
์ œ๊ฑฐํ•œ ์œ„์น˜์— ์‚ฝ์ž…ํ•  ์š”์†Œ์˜ ๋ชฉ๋ก์œผ๋กœ ์ƒ๋žตํ•  ๊ฒฝ์šฐ ์›๋ณธ ๋ฐฐ์—ด์—์„œ ์š”์†Œ๋“ค์„ ์ œ๊ฑฐํ•˜๊ธฐ๋งŒ ํ•œ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

<script>
const arr = [1, 2, 3, 4]
// ์›๋ณธ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ, 2๊ฐœ์˜ ์š”์†Œ ์‚ญ์ œ ํ›„, ๊ทธ ์ž๋ฆฌ์— ์ƒˆ๋กœ์šด ์š”์†Œ 20, 30 ์‚ฝ์ž…ํ•œ๋‹ค.
const result = arr.splice(1, 2, 20, 30)
// ์ œ๊ฑฐํ•œ ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
console.log(result); // 2, 3
// splice ๋ฉ”์†Œ๋“œ ์—ญ์‹œ ์›๋ณธ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝ
console.log(arr); // [1, 2, 20, 30 ]
</script>

splice ๋ฉ”์„œ๋“œ์— 3๊ฐœ์˜ ์ธ์ˆ˜ ๋ชจ๋‘ ์ „๋‹ฌํ•˜๋ฉด ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋‘๋ฒˆ์งธ, ์ œ๊ฑฐํ•  ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋งŒํผ ์›๋ณธ ๋ฐฐ์—ด์—์„œ ์ œ๊ฑฐ ํ›„ ์…‹์งธ, ์ œ๊ฑฐํ•œ ์œ„์น˜์—์„œ ์‚ฝ์ž…ํ•  ์š”์†Œ๋“ค์„ ์›๋ณธ ๋ฐฐ์—ด์— ์‚ฝ์ž…ํ•œ๋‹ค.

<script>
const arr = [1, 2, 3]
// ๋ฐฐ์—ด์˜ ๋์—์„œ๋ถ€ํ„ฐ ์š”์†Œ๋ฅผ ๋‘ ๊ฐœ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค
arr.splice(-2) // [2, 3]
console.log(arr) // [1]  
</script>

์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๊ฐ€ ์Œ์ˆ˜๋ฉด ์›๋ณธ ๋ฐฐ์—ด์— ๋ฐฐ์—ด ๋์—์„œ๋ถ€ํ„ฐ ์š”์†Œ๊ฐ€ ์‚ญ์ œ๋˜๊ณ  ์‚ญ์ œ๋œ ์š”์†Œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

<script>
const arr = [1, 2, 3, 4]
// ์›๋ณธ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ, 0๊ฐœ์˜ ์š”์†Œ ์‚ญ์ œ ํ›„, ๊ทธ ์ž๋ฆฌ์— ์ƒˆ๋กœ์šด ์š”์†Œ 100 ์‚ฝ์ž…
const result = arr.splice(1, 0, 100)
// ์ œ๊ฑฐํ•œ ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
console.log(result); // []
// splice ๋ฉ”์†Œ๋“œ ์—ญ์‹œ ์›๋ณธ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝ
console.log(arr); // [1, 100, 2, 3, 4 ]
</script>

๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜, ์ œ๊ฑฐํ•  ์š”์ˆ˜ ๊ฐœ์ˆ˜๋ฅผ 0์œผ๋กœ ์ง€์ •ํ•˜๋ฉด ์›๋ณธ ๋ฐฐ์—ด์— ์ƒˆ๋กœ์šด ์š”์†Œ๋“ค๋งŒ ์‚ฝ์ž…ํ•˜๊ณ  ๋นˆ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

<script>
const arr = [1, 2, 3, 4]
// ์›๋ณธ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ, 2๊ฐœ์˜ ์š”์†Œ ์‚ญ์ œ 
const result = arr.splice(1, 2)
// ์ œ๊ฑฐํ•œ ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
console.log(result); // [2, 3]
// splice ๋ฉ”์†Œ๋“œ ์—ญ์‹œ ์›๋ณธ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝ
console.log(arr); // [1, 4 ]
</script>

์„ธ ๋ฒˆ์งธ ์ธ์ˆ˜, ์ œ๊ฑฐํ•œ ์œ„์น˜์— ์ถ”๊ฐ€ํ•  ์š”์†Œ์˜ ๋ชฉ๋ก์„ ์ „๋‹ฌํ•˜์ง€ ์•Š์œผ๋ฉด ์›๋ณธ ๋ฐฐ์—ด์—์„œ ์ง€์ •๋œ ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์‚ญ์ œ๋œ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

<script>
const arr = [1, 2, 3, 4]
// ์›๋ณธ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ, 2๊ฐœ์˜ ์š”์†Œ ์‚ญ์ œ 
const result = arr.splice(1)
// ์ œ๊ฑฐํ•œ ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
console.log(result); // [2, 3, 4]
// splice ๋ฉ”์†Œ๋“œ ์—ญ์‹œ ์›๋ณธ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝ
console.log(arr); // [1]
</script>

๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜, ์ œ๊ฑฐํ•œ ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์›๋ณธ ๋ฐฐ์—ด์— ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ œ๊ฑฐํ•œ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

3. filter()

์ฃผ์–ด์ง„ ํ•จ์ˆ˜์˜ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

filter(callback(element[, index[, array]])[, thisArg])

parameter

callback
๊ฐ ์š”์†Œ๋ฅผ ์‹œํ—˜ํ•  ํ•จ์ˆ˜. true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ์š”์†Œ๋ฅผ ์œ ์ง€ํ•˜๊ณ , false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

  • element
    ์ฒ˜๋ฆฌํ•  ํ˜„์žฌ ์š”์†Œ.
  • index(option)
    ์ฒ˜๋ฆฌํ•  ํ˜„์žฌ ์š”์†Œ์˜ ์ธ๋ฑ์Šค.
  • array(option)
    filter๋ฅผ ํ˜ธ์ถœํ•œ ๋ฐฐ์—ด.

thisArg
callback์„ ์‹คํ–‰ํ•  ๋•Œ this๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

<script>
//๋ฐฐ์—ด์—์„œ ๊ฐ’์ด 10๋ฏธ๋งŒ์ธ ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ๋ฅผ ์ถ”์ถœํ•˜๋ ค๊ณ ํ•จ.
//1. filter() ์ธ์ž์—์„œ ๋ฐ”๋กœ ํ•จ์ˆ˜๋ฅผ ์จ์ฃผ๋Š” ๋ฐฉ๋ฒ•
const array = [3,5,11,0,9];
const result = array.filter((value) => value < 10)
// filter๋ฅผ ๊ฑฐ์ณ ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ์ถœ๋ ฅ
console.log(result); //[3, 5, 0, 9]
---------------------------------------
//2. ๋ฐ–์—์„œ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  filter()์˜ ์ธ์ž์—์„œ callback ํ•˜๋Š” ๋ฒ•
const array = = [3,5,11,0,9];
function lessThanTen() {
	return value < 10
}
const result = array.filter(lessThanTen);
// ์—ญ์‹œ filter๋ฅผ ๊ฑฐ์ณ ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ์ถœ๋ ฅ
console.log(result); //[3, 5, 0, 9]
</script>

๋ฐฐ์—ด ๋‚ด์šฉ ๊ฒ€์ƒ‰ํ•˜๊ธฐ

<script>
const fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
function filterItems() {
  return fruits.filter((value) => value.includes('ap'))
}
console.log(filterItems('ap')); // ['apple', 'grapes']
</script>

includes ๋ฉ”์„œ๋“œ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์„œ ๋ฐฐ์—ด ๋‚ด์šฉ์„ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

4. concat()

์ธ์ˆ˜๋กœ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ’์„ ๊ธฐ์กด ๋ฐฐ์—ด๋กœ ์ถ”๊ฐ€ํ•ด '์ƒˆ๋กœ์šด' ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์›๋ณธ ๋ฐฐ์—ด์€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค.

concat([value1[, value2[, ...[, valueN]]]])

parameter

  • ๋ฐฐ์—ด ๋˜๋Š” ๊ฐ’
  • ๋งŒ์•ฝ value1 ~ valueN ์ธ์ž๋ฅผ ์ƒ๋žตํ•˜๋ฉด ๊ธฐ์กด๋ฐฐ์—ด์˜ ์–•์€ ๋ณต์‚ฌ๋ณธ์„ ๋ฐ˜ํ™˜.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

<script>
const arr1 = [1, 2]
const arr2 = [3, 4]
// arr2๋ฅผ ์›๋ณธ ๋ฐฐ์—ด arr1์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋กœ ์ถ”๊ฐ€ํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋ฐ˜ํ™˜
let result = arr1.concat(arr2);
console.log(result); // [1, 2, 3, 4]
// ์ˆซ์ž๋ฅผ ์›๋ณธ ๋ฐฐ์—ด arr1์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋กœ ์ถ”๊ฐ€ํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋ฐ˜ํ™˜
let result = arr1.concat(3);
console.log(result); // [1, 2, 3]
// ๋ฐฐ์—ด arr2์™€ ์ˆซ์ž๋ฅผ ์›๋ณธ ๋ฐฐ์—ด arr1์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋กœ ์ถ”๊ฐ€ํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋ฐ˜ํ™˜
let result = arr1.concat(arr2, 5);
console.log(result); // [1, 2, 3, 4, 5]
console.log(arr1); // [1, 2], ์›๋ณธ ๋ฐฐ์—ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ
</script>

์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๊ฐ’์ด ๋ฐฐ์—ด์ด๋ฉด ํ•ด์ฒดํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ ์š”์†Œ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.

5. indexOf()

์›๋ณธ ๋ฐฐ์—ด์—์„œ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์š”์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

indexOf(searchElement[, fromIndex])

Parameter

searchElement
๋ฐฐ์—ด์—์„œ ์ฐพ์„ ์š”์†Œ.
fromIndex(Option)
๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•  ์ƒ‰์ธ.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

<script>
let a = ['justcode','study','javascript','js']
  // index   0       1         2         3
console.log(a.indexOf('study'))   //  1
console.log(a.indexOf('java'))    // -1
</script>
<script>
let a = ['justcode', 'js', 'study','javascript','js']
  // index   0       1      2         3         4
console.log(a.indexOf('js'))      //  1
</script>

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

6.includes()

๋ฐฐ์—ด ๋‚ด์— ํŠน์ • ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ boolean์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

includes(valueToFind[, fromIndex])

parameter

valueToFind
ํƒ์ƒ‰ํ•  ์š”์†Œ.

fromIndex (option)
์ด ๋ฐฐ์—ด์—์„œ searchElement ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•  ์œ„์น˜์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

<script>
// ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ •์ˆ˜๋งŒํ‹ˆ ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  0๋ถ€ํ„ฐ 1์‹ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์š”์†Œ๋ฅผ ์ฑ„์šด๋‹ค.
const arr = [1, 2, 3];
arr.includes(2); true
arr.includes(100); false
</script>

์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ๊ฒ€์ƒ‰ํ•  ๋Œ€์ƒ์„ ์ง€์ •ํ•œ๋‹ค.

<script>
// ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ •์ˆ˜๋งŒํ‹ˆ ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  0๋ถ€ํ„ฐ 1์‹ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์š”์†Œ๋ฅผ ์ฑ„์šด๋‹ค.
const arr = [1, 2, 3];
arr.includes(1, 1); false
arr.includes(3, -1); true
</script>

๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ  ์ƒ๋žต์‹œ ๊ธฐ๋ณธ ๊ฐ’์ด 0์ด ์„ค์ •๋˜๊ณ  ์ธ์ˆ˜์— ์Œ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋ฉด length ํ”„๋กœํผํ‹ฐ ๊ฐ’๊ณผ ์Œ์ˆ˜ ์ธ๋ฑ์Šค๋ฅผ ํ•ฉ์‚ฐํ•˜์—ฌ ๊ฒ€์ƒ‰ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

<script>
var arr = ['a', 'b', 'c'];
arr.includes('c', 3);   // false
arr.includes('c', 100); // false
</script>

fromIndex ๊ฐ€ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํฌ๋‹ค๋ฉด, false ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ฐฐ์—ด์€ ๊ฒ€์ƒ‰๋˜์ง€ ์•Š๋Š”๋‹ค.

profile
Just living the daydream, one moment at a time.
post-custom-banner

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