if
문을 자체함수로 추출한다.const cats = [
{ name: 'Mojo', months: 84 },
{ name: 'Mao-Mao', months: 34 },
{ name: 'Waffles', months: 4 },
{ name: 'Pickles', months: 6 } ]
var kittens = []
for (var i = 0; i < cats.length; i++) {
if (cats[i].months < 7) {
kittens.push(cats[i].name)
}
}
console.log(kittens)
위와 같은 코드가 있다면,
const isKitten = cat => cat.months < 7
자체함수로 추출하여 if
문 부분을
if (isKitten(cats[i])) { }
로 변경 하는 것이다.
cat[i].name
의 부분을
for문 밖에서 자체함수로 지정한다.
const getName = cat => cat.name
filter
와 map
으로 for문에서 벗어난다
const kittens = cat.filter(isKitten).map(getName)
filter
와 map
을 자체함수로 변경const getKittenNames = cats =>
cats.filter(isKitten)
.map(getName)
그리고 함수를 호출해 변수에 넣어준다.
const cats = getKittenNames(cats)