JS 08 Array Helper Method

Seungju HwangΒ·2021λ…„ 1μ›” 19일
0

JavaScript

λͺ©λ‘ 보기
9/13
post-thumbnail

Intro

배열에 λŒ€ν•΄ 자주 μ‚¬μš©ν•˜λŠ” λ‘œμ§μ„ μž¬ν™œμš©ν•  수 있게 λ§Œλ“  μΌμ’…μ˜ λ©”μ„œλ“œ 집합.

forEach, map, filter, reduce, find, some, every


ForEach

  • ν•˜λ‚˜μ”© κΊΌλ‚΄~λ¨Ήμ–΄μš”
const colors = ['red','blue','green'];
colors.forEach((color,idx) => {
	console.log(idx, color);
});

map

  • λ°°μ—΄ λ‚΄μ˜ λͺ¨λ“  μš”μ†Œμ— λŒ€ν•΄ 주어진 callback ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•œλ‹€
  • ν•¨μˆ˜μ˜ λ°˜ν™˜κ°’μ„ μš”μ†Œλ‘œ ν•˜λŠ” μƒˆλ‘œμš΄ 배열을 λ§Œλ“ λ‹€.
const numbers = [1,2,3]
const doubleNumbers = numbers.map((number) => {
	return number*2
})

filter

  • 주어진 callback ν•¨μˆ˜μ˜ ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•˜λŠ” λͺ¨λ“  μš”μ†Œλ₯Ό λͺ¨μ•„ μƒˆλ‘œμš΄ 배열을 λ§Œλ“ λ‹€.
  • 즉, return ꡬ문이 true인 경우만 λ°˜ν™˜ν•œλ‹€.
const products = [
  {name:'cucumber', type:'vegetable'},
  {name:'banana', type:'fruit'},
  {name:'carrot', type:'vegetable'},
  {name:'apple', type:'fruit'},
]

const fruits = products.filter((product) => {
	return product.type === 'fruit'
})

const fruits2 = products.filter(product => product.type === 'fruit')

reduce

  • λ°°μ—΄μ˜ 각 μš”μ†Œμ— λŒ€ν•΄ 주어진 reduceν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•˜κ³ , ν•˜λ‚˜μ˜ 값을 λ°˜ν™˜
  • array.reduce(callback(μΆ•μ λ˜λŠ” κ°’, 각각의 κ°’), initialValue)
const numbers = [90,90,100,50,80]
const sum = numbers.reduce((acc, element) => acc+element, 0)

find

  • 주어진 νŒλ³„ ν•¨μˆ˜λ₯Ό λ§Œμ‘±ν•˜λŠ” 첫번째 μš”μ†Œμ˜ κ°’ 을 λ°˜ν™˜
const avengers = [
  {name:'aa',age:45},
  {name:'ba',age:32},
  {name:'bb',age:13}
]
const aa = avengers.find(avenger => avenger.name === 'aa')

some

  • μ–΄λ–€ μš”μ†ŒλΌλ„ (ν•˜λ‚˜λΌλ„) 주어진 νŒλ³„ ν•¨μˆ˜λ₯Ό ν†΅κ³Όν•œλ‹€λ©΄ true/ falseλ₯Ό λ°˜ν™˜
const arr = [1,2,3,4,5]
arr.some(element => element%2 === 0) //true
arr.some(function (element) {
  return element % 2 === 0
})

every

  • λͺ¨λ“  μš”μ†Œκ°€ νŒλ³„ ν•¨μˆ˜λ₯Ό ν†΅κ³Όν•˜λ©΄ true. μ•„λ‹κ²½μš° false.
const arr = [1,2,3,4,5]
arr.every(function(element) {
  return element % 2 ===0 //false
})

profile
κΈ°λ‘ν•˜λŠ” μŠ΅κ΄€μ€ μ‰½κ²Œ λ¬΄λ„ˆμ§€μ§€ μ•Šμ•„μš”.

0개의 λŒ“κΈ€