Skip to main content
0
JavaScriptProgramming Language

Reduce āđƒāļ™ javascript āđ„āļĄāđˆāđ„āļ”āđ‰āļŦāļēāđ„āļ”āđ‰āđāļ„āđˆāļœāļĨāļĢāļ§āļĄāļ™āļ°

āđ€āļžāļ·āđˆāļ­āļ™ āđ† āļŦāļĢāļ·āļ­āđƒāļ„āļĢāļŦāļĨāļēāļĒāđ† āļ„āļ™āļ„āļ‡āļ™āđˆāļēāļˆāļ°āļ„āļļāđ‰āļ™āļŦāļ™āđ‰āļēāļ„āļļāđ‰āļ™āļ•āļē Array Method āļāļąāļ™āļĄāļēāļšāđ‰āļēāļ‡ āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŦāļ™āļķāđˆāļ‡āļ‚āļ­āļ‡ Javascript āļ—āļĩāđˆāļŠāļ·āđˆāļ­āļ§āđˆāļē Reduce  āđāļ•āđˆāļŠāļģāļŦāļĢāļąāļšāđƒāļ„āļĢāļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāļĢāļđāđ‰āļ§āđˆāļēāļĄāļąāļ™āļ„āļ·āļ­āļ­āļ°āđ„āļĢāļāđ‡āļŠāļēāļĄāļēāļĢāļ–āļ­āđˆāļēāļ™āđƒāļ™ āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰ āđ„āļ”āđ‰āđ€āļĨāļĒāļ„āļĢāļąāļš

āļ–āļķāļ‡āđāļĄāđ‰āļˆāļ°āđ€āļ›āđ‡āļ™ method āļ—āļĩāđˆāļŠāļ§āļ™āļ‡āļ‡āđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒ āđāļ•āđˆāļŠāļģāļŦāļĢāļąāļšāđƒāļ„āļĢāļŦāļĨāļēāļĒāļ„āļ™āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ•āļ­āļ™āđāļĢāļ Reduce āļāđ‡āđ€āļ›āđ‡āļ™ method āļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āđ„āļ”āđ‰āļŦāļĨāļēāļāļŦāļĨāļēāļĒāļĄāļēāļāļ•āļąāļ§āļŦāļ™āļķāđˆāļ‡ āļ™āļ­āļāđ€āļŦāļ™āļ·āļ­āļˆāļēāļāļāļēāļĢāļŦāļēāļœāļĨāļĢāļ§āļĄāđāļĨāđ‰āļ§āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āđ€āļĢāļēāļˆāļ°āļĄāļēāđƒāļŠāđ‰ Reduce āļāļąāļ™āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāļāļąāļš āļ—āļĢāļīāļ„āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ .reduce āđƒāļ™ javascript āļˆāļ°āļĄāļĩāļ­āļ°āđ„āļĢāļāļąāļ™āļšāđ‰āļēāļ‡ āđ„āļ›āļ”āļđāļāļąāļ™

āđ€āļ‚āļĩāļĒāļ™āđ‚āļ”āļĒ
Thanawat Udchachon
Internship @ borntoDev

āđ€āļĢāļēāļĄāļēāļ”āļđāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Reduce āļāļąāļ™āļāđˆāļ­āļ™

Reduce āđ€āļ›āđ‡āļ™ Array Method āļ—āļĩāđˆāļˆāļ°āļĄāļĩāļāļēāļĢ return āļ„āđˆāļēāļ­āļ­āļāļĄāļēāđ€āļ›āđ‡āļ™āļ„āđˆāļēāđ€āļ”āļĩāļĒāļ§ āļ•āđˆāļēāļ‡āļˆāļēāļ Map āđāļĨāļ° Filter āļ—āļĩāđˆāļˆāļ° return āļ­āļ­āļāļĄāļēāđ€āļ›āđ‡āļ™ Array āđƒāļŦāļĄāđˆāļ­āļĩāļāļ•āļąāļ§

Reduce āļˆāļ°āļĄāļĩ 4 arguments āļ”āļąāļ‡āļ™āļĩāđ‰

  • āļ„āđˆāļēāļāđˆāļ­āļ™āļŦāļ™āđ‰āļē

  • āļ„āđˆāļēāļ›āļąāļˆāļˆāļļāļšāļąāļ™

  • āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ (index)

  • Array āļ—āļĩāđˆāđ€āļĢāļēāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰

āļˆāļ°āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āļ§āđˆāļēāļˆāļ°āļĄāļĩ argument āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļĄāļēāļˆāļēāļ Map āđāļĨāļ° Filter āļ„āļ·āļ­ āļ„āđˆāļēāļāđˆāļ­āļ™āļŦāļ™āđ‰āļē

āļ‹āļķāđˆāļ‡āļĄāļąāļ™āļ—āļģāļ‡āļēāļ™āđ‚āļ”āļĒāļāļēāļĢāđ€āļ‚āđ‰āļēāđ„āļ›āļ—āļĩāđˆ element āđāļ•āđˆāļĨāļ°āļ•āļąāļ§āđāļĨāļ°āļ—āļģāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡ āđāļĨāđ‰āļ§āļ™āļģāļ„āđˆāļēāļ—āļĩāđˆ return āļ­āļ­āļāļĄāļēāđ€āļāđ‡āļšāđ„āļ§āđ‰āđ€āļžāļ·āđˆāļ­āđ€āļ­āļēāđ„āļ›āđƒāļŠāđ‰āļ‡āļēāļ™āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđƒāļ™ element āļ–āļąāļ”āđ„āļ› āđāļĨāļ°āļ—āļģāđ„āļ›āđ€āļĢāļ·āđˆāļ­āļĒ āđ† āļˆāļ™āļāļ§āđˆāļēāļˆāļ°āļ„āļĢāļšāļ—āļļāļ element āļ­āļ˜āļīāļšāļēāļĒāđ€āļ‰āļĒ āđ† āļ­āļēāļˆāļˆāļ°āđ„āļĄāđˆāđ€āļ‚āđ‰āļēāđƒāļˆāđ€āļĢāļēāļĄāļēāļ”āļđāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļąāļ™āđ€āļĨāļĒāļ”āļĩāļāļ§āđˆāļē

let price = [42, 32, 20]

let sum = price.reduce(function (prev, curr) {
    return prev + curr;
}, 0);

console.log(sum); //94

āđ€āļŠāļ·āđˆāļ­āļ§āđˆāļēāļ™āļĩāđˆāļ„āļ‡āđ€āļŦāđ‡āļ™āđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļŦāļĨāļēāļĒāļ„āļ™āđ€āļ„āļĒāđ€āļŦāđ‡āļ™ āļ§āđˆāļēāđāļ•āđˆāļĄāļąāļ™āļ—āļģāļ‡āļēāļ™āļĒāļąāļ‡āđ„āļ‡

āļ‚āļąāđ‰āļ™āđāļĢāļ sum āļ‚āļ­āļ‡āđ€āļĢāļēāļˆāļ°āļĄāļĩāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ›āđ‡āļ™ 0 āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ„āđˆāļēāļ—āļĩāđˆāđ€āļĢāļēāđ„āļ”āđ‰āđƒāļŠāđˆāđ€āļ­āļēāđ„āļ§āđ‰

āđ€āļĄāļ·āđˆāļ­āļĄāļēāļ–āļķāļ‡ element āđāļĢāļāđƒāļ™ array āđ€āļĢāļēāļāđ‡āļšāļ­āļāļ§āđˆāļē āđƒāļŦāđ‰āļ„āđˆāļēāļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ‹āļķāđˆāļ‡āđƒāļ™āļ—āļĩāđˆāļ™āļĩāđ‰āļ„āļ·āļ­ 0 āļ—āļĩāđˆāļĄāļēāļˆāļēāļāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļšāļ§āļāļāļąāļšāļ„āđˆāļē element āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ‹āļķāđˆāļ‡āļ„āļ·āļ­ 42 āđāļĨāđ‰āļ§āđ€āļĢāļēāļāđ‡ return āļœāļĨāļĢāļ§āļĄāļ™āļąāđ‰āļ™āļ­āļ­āļāļĄāļē āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļāļēāļĢāđ€āļ‹āđ‡āļ•āļ„āđˆāļē prev āļ™āļąāđˆāļ™āđ€āļ­āļ‡ āļ—āļģāđƒāļŦāđ‰āļ•āļ­āļ™āļ™āļĩāđ‰ prev āļĄāļĩāļ„āđˆāļē 42

āļ•āđˆāļ­āļĄāļēāđ€āļĄāļ·āđˆāļ­āļĄāļēāļ–āļķāļ‡ element āļ•āļąāļ§āļ–āļąāļ”āļĄāļēāđƒāļ™ array āļāđ‡āļˆāļ°āļ—āļģāđāļšāļšāđ€āļ”āļīāļĄāļ„āļ·āļ­ return āļœāļĨāļĢāļ§āļĄāļ‚āļ­āļ‡ prev āļ‹āļķāđˆāļ‡āļ•āļ­āļ™āļ™āļĩāđ‰āļ„āļ·āļ­ 42 āļšāļ§āļāļāļąāļš element āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ‹āļķāđˆāļ‡āļ„āļ·āļ­ 32 āđ€āļĢāļēāļāđ‡āļˆāļ°āđ„āļ”āđ‰āļ„āđˆāļēāđƒāļŦāļĄāđˆāļ‚āļ­āļ‡ prev āđ€āļ›āđ‡āļ™ 74

āđāļĨāļ°āđ€āļĄāļ·āđˆāļ­āļĄāļēāļ–āļķāļ‡ element āļ•āļąāļ§āļŠāļļāļ”āļ—āđ‰āļēāļĒāđƒāļ™ array āļāđ‡āļˆāļ°āļ—āļģāđāļšāļšāđ€āļ”āļīāļĄāđ€āļŠāđˆāļ™āļāļąāļ™āļ„āļ·āļ­ return 74 āļšāļ§āļ 20 āđāļĨāļ°āđ€āļĄāļ·āđˆāļ­āđ€āļĢāļē console.log(sum) āļ­āļ­āļāļĄāļēāđ€āļĢāļēāļāđ‡āļˆāļ°āđ„āļ”āđ‰ 94 āļ­āļ­āļāļĄāļēāļ™āļąāđˆāļ™āđ€āļ­āļ‡āļ„āļĢāļąāļš

āļŦāļĢāļ·āļ­āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļ™āļĩāđ‰āđƒāļŦāđ‰āļŠāļąāđ‰āļ™āļāļ§āđˆāļēāđ€āļ”āļīāļĄāđ‚āļ”āļĒāđƒāļŠāđ‰ Arrow function āļāđ‡āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āđ„āļ”āđ‰āļ”āļąāļ‡āļ™āļĩāđ‰āļ„āļĢāļąāļš

let price = [42, 32, 20]

let sum = price.reduce((prev, curr) => prev + curr, 0);

console.log(sum); //94

āļŦāļĨāļēāļĒāļ„āļ™āļ­āļēāļˆāļˆāļ°āļŠāļ‡āļŠāļąāļĒāļ§āđˆāļēāļ–āđ‰āļēāđ€āļĢāļēāđ„āļĄāđˆāđ„āļ”āđ‰āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļˆāļ°āđ€āļ›āđ‡āļ™āļĒāļąāļ‡āđ„āļ‡ āļ–āđ‰āļēāđ€āļĢāļēāđ„āļĄāđˆāđ„āļ”āđ‰āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļ„āđˆāļēāļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļˆāļ°āđ€āļ›āđ‡āļ™ element āđāļĢāļāđƒāļ™ array āļ„āļĢāļąāļš āļ‹āļķāđˆāļ‡āđƒāļ™āļ—āļĩāđˆāļ™āļĩāđ‰āļāđ‡āļ„āļ·āļ­ 42 āļ‹āļķāđˆāļ‡āļ–āđ‰āļēāļ–āļēāļĄāļ§āđˆāļēāļĄāļąāļ™āļˆāļ°āđ„āļ”āđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāļ•āđˆāļēāļ‡āļāļąāļ™āđ„āļŦāļĄ āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļšāļ§āļāđ€āļĨāļ‚āđāļšāļšāļ™āļĩāđ‰āļˆāļ°āđ„āļ”āđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđ„āļĄāđˆāļ•āđˆāļēāļ‡āļāļąāļ™āļ„āļĢāļąāļš āđāļ•āđˆāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļšāļšāļ­āļ·āđˆāļ™ āđ† āļāđ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļ•āđˆāļēāļ‡āļ­āļ­āļāđ„āļ›āđ„āļ”āđ‰āđāļĨāļ°āļ­āļēāļˆāļˆāļ°āļ—āļģāđƒāļŦāđ‰āļœāļĨāļ—āļĩāđˆāļ­āļ­āļāļĄāļēāļ„āļĨāļēāļ”āđ€āļ„āļĨāļ·āđˆāļ­āļ™āđ„āļ›āļˆāļēāļāļ—āļĩāđˆāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ„āļ”āđ‰āļ„āļĢāļąāļš āļ”āļąāļ‡āļ™āļąāđ‰āļ™āļāđ‡āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡āđ€āļ­āļēāđ„āļ§āđ‰āļ”āđ‰āļ§āļĒāļ™āļ°āļ„āļĢāļąāļš

āļ™āļ­āļāļˆāļēāļ Reduce āļ›āļāļ•āļīāļ—āļĩāđˆāļˆāļ°āđ€āļ›āđ‡āļ™āļāļēāļĢāđ„āļĨāđˆ array āļˆāļēāļāļ‹āđ‰āļēāļĒāđ„āļ›āļ‚āļ§āļēāđāļĨāđ‰āļ§ āļĒāļąāļ‡āļĄāļĩāļ­āļĩāļ method āļ—āļĩāđˆāļŠāļ·āđˆāļ­āļ§āđˆāļē reduceRight āļ—āļĩāđˆāļˆāļ°āļ—āļģāļ‡āļēāļ™āđāļšāļšāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļąāļš Reduce āļ›āļāļ•āļīāđ€āļĨāļĒ āđ€āļžāļĩāļĒāļ‡āđāļ„āđˆāļˆāļ°āđ„āļĨāđˆ array āļˆāļēāļāļ‚āļ§āļēāđ„āļ›āļ‹āđ‰āļēāļĒāļ„āļĢāļąāļšāđāļĨāļ°āļ™āļąāđˆāļ™āļāđ‡āļ„āļ·āļ­āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Reduce āļ„āļĢāļąāļš

āļˆāļ°āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āļ§āđˆāļē Reduce āđ„āļĄāđˆāđ„āļ”āđ‰āļ—āļģāđ„āļ”āđ‰āđ€āļžāļĩāļĒāļ‡āļāļēāļĢāļĢāļ§āļĄāļ„āđˆāļēāđāļ•āđˆāļ­āļĒāđˆāļēāļ‡āđƒāļ” āļĄāļąāļ™āļŠāļēāļĄāļēāļĢāļ–āļ—āļĩāđˆāļˆāļ° return āļ„āđˆāļēāđƒāļ”āļāđ‡āđ„āļ”āđ‰āļ—āļĩāđˆāļœāđˆāļēāļ™āļĄāļēāļˆāļēāļāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļāļąāļš array āļ—āļĩāđˆāđ€āļĢāļēāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāđ€āļĢāļēāļ§āđˆāļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ­āļ°āđ„āļĢ āļ‹āļķāđˆāļ‡āļĄāļąāļ™āļāđ‡āļ„āļ·āļ­āļāļēāļĢāļĨāļ”āļˆāļēāļ array āļĄāļēāđ€āļ›āđ‡āļ™āļ„āđˆāļēāđ€āļ”āļĩāļĒāļ§āļ•āļēāļĄāļŠāļ·āđˆāļ­āļ™āļąāđˆāļ™āđ€āļ­āļ‡āļ„āļĢāļąāļš

āļ§āđˆāļēāđāļĨāđ‰āļ§āđ€āļĢāļēāļāđ‡āļĨāļ­āļ‡āđ„āļ›āļ”āļđāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Reduce āđāļšāļšāļ­āļ·āđˆāļ™ āđ† āļšāđ‰āļēāļ‡āļāļąāļ™āđ€āļĨāļĒāļ”āļĩāļāļ§āđˆāļē

 

āļŦāļēāļ„āđˆāļē min max

āđ€āļĢāļēāļĄāļēāđ€āļĢāļīāđˆāļĄāļāļąāļ™āļāļąāļšāļ­āļ°āđ„āļĢāļ‡āđˆāļēāļĒ āđ† āļāļąāļ™āļāđˆāļ­āļ™āļāļąāļšāļāļēāļĢāļŦāļē element āļ—āļĩāđˆāļĄāļĩāļ„āđˆāļēāļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ”āđāļĨāļ°āļ™āđ‰āļ­āļĒāļ—āļĩāđˆāļŠāļļāļ”

let price = [42, 32, 20]

let max = price.reduce(function (prev, curr) {
return curr > prev ? curr : prev;
});

console.log(max); //42

āļˆāļēāļāđ‚āļ„āđ‰āļ”āļˆāļ°āđ€āļ›āđ‡āļ™āļŦāļēāļĢāļŦāļēāļ„āđˆāļēāļ—āļĩāđˆāļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ” āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ™āļĩāđ‰āļāđ‡āļˆāļ°āļ„āļĨāđ‰āļēāļĒāļāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđƒāļ™āļŦāļąāļ§āļ‚āđ‰āļ­āļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ™āļĩāđ‰ āđ€āļžāļĩāļĒāļ‡āđāļ„āđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļˆāļēāļāļāļēāļĢ return āļœāļĨāļĢāļ§āļĄ āđ€āļ›āđ‡āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē element āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļĄāļĩāļ„āđˆāļēāļĄāļēāļāļāļ§āđˆāļēāļ•āļąāļ§āļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ–āđ‰āļēāļĄāļēāļāļāļ§āđˆāļēāļāđ‡āđƒāļŦāđ‰ return element āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āđāļ•āđˆāļ–āđ‰āļēāđ„āļĄāđˆāļāđ‡āđƒāļŦāđ‰ return āļ„āđˆāļēāļāđˆāļ­āļ™āļŦāļ™āđ‰āļē āđāļĨāđ‰āļ§āļ—āļģāđāļšāļšāļ™āļĩāđ‰āđ„āļ›āđ€āļĢāļ·āđˆāļ­āļĒ āđ† āļˆāļ™āļ„āļĢāļš element āļ—āļļāļāļ•āļąāļ§āļ„āļĢāļąāļš

āđāļĨāļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŦāļēāļ„āđˆāļēāļ—āļĩāđˆāļ™āđ‰āļ­āļĒāļ—āļĩāđˆāļŠāļļāļ”āļāđ‡āļˆāļ°āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™āļāļēāļĢāļŦāļēāļ„āđˆāļēāļ—āļĩāđˆāļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ”āđ€āļĨāļĒāļ„āļĢāļąāļš āđāļ„āđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļˆāļēāļāļŠāļąāļāļĨāļąāļāļĐāļ“āđŒāļˆāļēāļāļĄāļēāļāļāļ§āđˆāļē (>) āđ€āļ›āđ‡āļ™āļ™āđ‰āļ­āļĒāļāļ§āđˆāļē (<) āđ€āļĢāļēāļāđ‡āļˆāļ°āđ„āļ”āđ‰āđ‚āļ„āđ‰āļ”āļ­āļ­āļāļĄāļēāļ”āļąāļ‡āļ™āļĩāđ‰āļ„āļĢāļąāļš

let price = [42, 32, 20]

let min = price.reduce(function (prev, curr) {
return curr < prev ? curr : prev;
});

console.log(min); //20

āļˆāļ°āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āļˆāļēāļāđ‚āļ„āđ‰āļ”āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ§āđˆāļē āđ„āļĄāđˆāđ„āļ”āđ‰āļĄāļĩāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āđ€āļ›āđ‡āļ™āđ€āļžāļĢāļēāļ°āļ§āđˆāļēāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āđˆāļēāđƒāļ™ array āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āļ„āļĢāļąāļš āļˆāļķāļ‡āđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™

 

āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđāļ—āļ™ Map āđāļĨāļ° Filter āđ„āļ”āđ‰āļ™āļ°

āđ€āļĢāļ·āđˆāļ­āļ‡āļŦāļ™āļķāđˆāļ‡āļ—āļĩāđˆāļ™āđˆāļēāļŠāļ™āđƒāļˆāļ‚āļ­āļ‡ Reduce āļ„āļ·āļ­āļĄāļąāļ™āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđāļ—āļ™ Map āđāļĨāļ° Filter āđ„āļ”āđ‰! āđ‚āļ”āļĒāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ›āđ‡āļ™ Array āđ€āļ›āļĨāđˆāļē āđ€āļ›āđ‡āļ™āļĒāļąāļ‡āđ„āļ‡ āđ„āļ›āļ”āļđāļāļąāļ™

let map = price.reduce(function (prev, curr) {
return [...prev, curr];
}, []);

console.log(map); //[ 42, 32, 20 ]

āļˆāļēāļāđ‚āļ„āđ‰āļ”āļāđ‡āļ„āļ·āļ­ āđ€āļĄāļ·āđˆāļ­āļœāđˆāļēāļ™āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ element āđāļ•āđˆāļĨāļ°āļ•āļąāļ§āļāđ‡āđƒāļŦāđ‰āļ—āļģāļāļēāļĢ return āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™ array āđ€āļ”āļīāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” (āļŠāļģāļŦāļĢāļąāļš element āđāļĢāļ āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ™āļĩāđ‰ prev āļˆāļ°āļĒāļąāļ‡āđ„āļĄāđˆāļĄāļĩ āđ€āļžāļĢāļēāļ°āļĒāļąāļ‡āđ€āļ›āđ‡āļ™ array āđ€āļ›āļĨāđˆāļēāļ­āļĒāļđāđˆ) āđāļĨāđ‰āļ§āļ•āđˆāļ­āļ”āđ‰āļ§āļĒ element āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āđāļĨāđ‰āļ§āļāđ‡āļ—āļģāļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰āđ„āļ›āđ€āļĢāļ·āđˆāļ­āļĒ āđ† āļˆāļ™āļ„āļĢāļšāļ—āļļāļ element āđ‚āļ”āļĒāđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŦāđ‰āđ€āļāļīāļ”āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡āđƒāļŦāđ‰āļāļąāļšāđāļ•āđˆāļĨāļ° element āđ„āļ”āđ‰āđ€āļŠāđˆāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļš Map āđ€āļĨāļĒ

āđāļ•āđˆāļŠāļģāļŦāļĢāļąāļšāđƒāļ™āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡ Performance āļ™āļąāđ‰āļ™ Map āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āđ€āļĢāđ‡āļ§āļāļ§āđˆāļēāđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒāļ„āļĢāļąāļš

āđāļĨāļ°āļŠāļģāļŦāļĢāļąāļš Filter āļāđ‡āļ„āļĨāđ‰āļēāļĒāļāļąāļš Map āđ€āļĨāļĒ āđ€āļžāļĩāļĒāļ‡āđāļ„āđˆāđ€āļžāļīāđˆāļĄ if āđ€āļ‚āđ‰āļēāđ„āļ›

let filter = price.reduce(function (prev, curr) {
    if (curr > 20) {
        return [...prev, curr]; //āđƒāļŠāđ‰ prev.push(curr) āđāļ—āļ™āđ„āļ”āđ‰āđ€āļžāļĢāļēāļ°āđ„āļĄāđˆāđƒāļŠāđˆ return āļŠāļļāļ”āļ—āđ‰āļēāļĒ
}
    return [...prev];
}, []);

console.log(filter); //[ 42, 32 ]

āļ—āļģāļ‡āļēāļ™āļāđ‡āļ„āļ·āļ­ āđ€āļĄāļ·āđˆāļ­āļœāđˆāļēāļ™āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ element āđāļ•āđˆāļĨāļ°āļ•āļąāļ§āļāđ‡āļˆāļ°āļ—āļģāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē element āļ”āļąāļ‡āļāļĨāđˆāļēāļ§āđ€āļ‚āđ‰āļēāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚āļ—āļĩāđˆāļ•āļąāđ‰āļ‡āđ„āļ§āđ‰āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ–āđ‰āļēāđ€āļ‚āđ‰āļēāļāđ‡āļˆāļ° return āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™ array āđ€āļ”āļīāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” (āļŠāļģāļŦāļĢāļąāļš element āđāļĢāļ āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ™āļĩāđ‰ prev āļˆāļ°āļĒāļąāļ‡āđ„āļĄāđˆāļĄāļĩ āđ€āļžāļĢāļēāļ°āļĒāļąāļ‡āđ€āļ›āđ‡āļ™ array āđ€āļ›āļĨāđˆāļēāļ­āļĒāļđāđˆ) āđāļĨāđ‰āļ§āļ•āđˆāļ­āļ”āđ‰āļ§āļĒ element āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āđāļ•āđˆāļ–āđ‰āļēāđ„āļĄāđˆāļāđ‡āļˆāļ° return āđ€āļžāļĩāļĒāļ‡āđāļ„āđˆ āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™ array āđ€āļ”āļīāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļ‹āļķāđˆāļ‡āļāđ‡āļ„āļ·āļ­āđ„āļĄāđˆāđ„āļ”āđ‰āļĄāļĩāļāļēāļĢāđ€āļžāļīāđˆāļĄāļ­āļ°āđ„āļĢāđ€āļ‚āđ‰āļēāđ„āļ›āļ™āļąāđˆāļ™āđ€āļ­āļ‡

āđāļĨāļ°āļŠāļģāļŦāļĢāļąāļšāđƒāļ™āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡ Performance āļ™āļąāđ‰āļ™ Filter āļāđ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āđ€āļĢāđ‡āļ§āļāļ§āđˆāļēāđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒāļ„āļĢāļąāļš

āđāļ•āđˆāļĒāļąāļ‡āđ„āļĄāđˆāļˆāļšāđ€āļžāļĩāļĒāļ‡āđ€āļ—āđˆāļēāļ™āļĩāđ‰!

āđ€āļžāļĢāļēāļ°āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŦāđ‰ reduce āļ—āļģāļ‡āļēāļ™āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļšāļāļēāļĢāļ™āļģ Filter āđāļĨāļ° Map āļĄāļē chain āļ•āđˆāļ­āļāļąāļ™āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒāđ€āļŠāđˆāļ™āļāļąāļ™!

āđƒāļ™āļ—āļĩāđˆāļ™āļĩāđ‰āļˆāļ°āđ€āļĢāļīāđˆāļĄāļˆāļēāļāļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ­āļ‡āđ€āļĢāļēāļāļąāļ™āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āđ€āļ›āđ‡āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļīāļ™āļ„āđ‰āļēāđāļĨāļ°āļĢāļēāļ„āļēāļ”āļąāļ‡āļ™āļĩāđ‰

let receipt = [

   { name: "sausage", price: 42 },

   { name: "coffee", price: 32 },

   { name: "orange", price: 20 }
 
]

āđāļĨāđ‰āļ§āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļđāđ‰āļŠāļ·āđˆāļ­āļĢāļēāļĒāļāļēāļĢāļ­āļēāļŦāļēāļĢāļ—āļĩāđˆāļĄāļĩāļĢāļēāļ„āļēāļĄāļēāļāļāļ§āđˆāļē 20 āļ–āđ‰āļēāđ€āļ‚āļĩāļĒāļ™āđ‚āļ”āļĒāđƒāļŠāđ‰ Map āļ—āļĩāđˆ chain āļāļąāļš Filter āļāđ‡āļˆāļ°āđ„āļ”āđ‰āļ”āļąāļ‡āļ™āļĩāđ‰

let realFilterMap = receipts.filter(function (receipt) {
    return receipt.price > 20;
}).map(function (receipt) {
   return receipt.name;
});

console.log(realFilterMap); //[ 'sausage', 'coffee' ]

āđ‚āļ”āļĒāđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļ™āļĩāđ‰āļ”āđ‰āļ§āļĒ Reduce āđ„āļ”āđ‰āļ”āļąāļ‡āļ™āļĩāđ‰

let filterMap = receipts.reduce(function (prev, curr) {
    if (curr.price > 20) {
        prev.push(curr.name)
    }
    return prev
}, []);

console.log(filterMap); //[ 'sausage', 'coffee' ]

āļĄāļēāļ–āļķāļ‡āđ€āļĢāļ·āđˆāļ­āļ‡āļ—āļĩāđˆāļ—āļļāļāļ„āļ™āļĢāļ­āļ„āļ­āļĒ! (āļĢāļķāļ›āđˆāļēāļ§) Performance āļ™āļąāđˆāļ™āđ€āļ­āļ‡!! āļœāļĨāļāđ‡āļ„āļ·āļ­ āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ§āļīāļ˜āļĩāđƒāļŠāđ‰āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ—āļĩāđˆāđƒāļāļĨāđ‰āđ€āļ„āļĩāļĒāļ‡āļāļąāļ™āļĄāļēāļāļ„āļĢāļąāļš

āļĄāļĩāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ„āļ”āđ‰āļĄāļēāļāļāļ§āđˆāļē 1 āļ•āļąāļ§ !?

Reduce āļŠāļēāļĄāļēāļĢāļ–āļĄāļĩāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ„āļ”āđ‰āļĄāļēāļāļāļ§āđˆāļē 1 āļ•āļąāļ§ āđ‚āļ”āļĒāļāļēāļĢāļāļģāļŦāļ™āļ”āđ€āļ›āđ‡āļ™ Object āļ‹āļķāđˆāļ‡āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ‚āļ­āļ‡āļĄāļąāļ™āļ—āļĩāđˆāđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āļŠāļąāļ”āļ—āļĩāđˆāļŠāļļāļ”āļ•āļąāļ§āļŦāļ™āļķāđˆāļ‡āļāđ‡āļ„āļ·āļ­āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđāļšāđˆāļ‡āļāļĨāļļāđˆāļĄ āđ‚āļ”āļĒāđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰āđ€āļĢāļēāļāđ‡āļˆāļ°āđƒāļŠāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļīāļ™āļ„āđ‰āļēāđāļĨāļ°āļĢāļēāļ„āļēāđ€āļ”āļīāļĄāļ”āļąāļ‡āļ™āļĩāđ‰

let receipt = [

    { name: "sausage", price: 42 },

    { name: "coffee", price: 32 },

    { name: "orange", price: 20 }

]

āđ‚āļ”āļĒāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāđāļšāđˆāļ‡āļāļĨāļļāđˆāļĄāļĢāļēāļĒāļāļēāļĢāļ­āļēāļŦāļēāļĢāļĢāļēāļ„āļēāļ–āļđāļāđāļĨāļ°āļĢāļēāļ„āļēāđāļžāļ‡ āđ‚āļ”āļĒāļ­āļēāļŦāļēāļĢāļ—āļĩāđˆāļĄāļĩāļĢāļēāļ„āļēāļĄāļēāļāļāļ§āđˆāļē 20 āļˆāļ°āļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄāļ­āļēāļŦāļēāļĢāđāļžāļ‡

let multipleInit = receipts.reduce(function (prev, curr) {
    if (curr.price > 20) {
        prev.expensive.push(curr);
    } else {
        prev.cheap.push(curr);
    }
    return prev;
}, {
    expensive: [], //Array āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļĢāļēāļĒāļāļēāļĢāļ­āļēāļŦāļēāļĢāļ—āļĩāđˆāļĄāļĩāļĢāļēāļ„āļēāļŠāļđāļ‡āļāļ§āđˆāļē 20
    cheap: [], //Array āļŠāļģāļŦāļĢāļąāļšāđ€āļāđ‡āļšāļĢāļēāļĒāļāļēāļĢāļ­āļēāļŦāļēāļĢāļ—āļĩāđˆāļĄāļĩāļĢāļēāļ„āļēāļ•āđˆāļģāļāļ§āđˆāļē 20 āļŦāļĢāļ·āļ­āļ•āđˆāļģāļāļ§āđˆāļē
});

console.log(multipleInit)
// {
// expensive: [ { name: 'sausage', price: 42 }, { name: 'coffee', price: 32 } ],
// cheap: [ { name: 'orange', price: 20 } ]
// }

āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļāđ‡āļ„āļ·āļ­ āđ€āļĄāļ·āđˆāļ­āļœāđˆāļēāļ™āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ element āđāļ•āđˆāļĨāļ°āļ•āļąāļ§āļāđ‡āļˆāļ°āļ—āļģāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē element āļ”āļąāļ‡āļāļĨāđˆāļēāļ§āļ™āļąāđ‰āļ™āļĄāļĩāļĢāļēāļ„āļēāļĄāļēāļāļāļ§āđˆāļē 20 āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ–āđ‰āļēāđƒāļŠāđˆāđƒāļŦāđ‰ push element āļ™āļąāđ‰āļ™āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ array expensive āļ–āđ‰āļēāđ„āļĄāđˆāļāđ‡āđƒāļŦāđ‰ push element āļ™āļąāđ‰āļ™āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ array cheap āđāļ—āļ™ āđāļĨāđ‰āļ§āļŠāļļāļ”āļ—āđ‰āļēāļĒāļāđ‡ return āļ„āđˆāļē prev āļ—āļĩāđˆāļĄāļĩāļāļēāļĢāđ€āļžāļīāđˆāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāđ€āļ‚āđ‰āļēāđ„āļ›āđāļĨāđ‰āļ§ āđāļĨāđ‰āļ§āļāđ‰āļ—āļģāļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰āļˆāļ™āļ„āļĢāļšāļ—āļļāļ element āđ€āļĢāļēāļāđ‡āļˆāļ°āđ„āļ”āđ‰āļāļēāļĢāđāļšāđˆāļ‡āļāļĨāļļāđˆāļĄāļ­āļ­āļāļĄāļēāļ™āļąāđˆāļ™āđ€āļ­āļ‡

āļĄāļĩāļŠāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļĄāļĩāļĢāļēāļ„āļē

āđƒāļ™āļšāļēāļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāļ‚āļ­āļ‡āđ€āļĢāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļĄāļĩāļāļēāļĢāļāļĢāļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ­āļ‡āļ­āļĒāđˆāļēāļ‡āļ‚āļķāđ‰āļ™āđ„āļ›āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļ™ āļšāļēāļ‡āļ„āļĢāļąāđ‰āļ‡āđ€āļĢāļēāļāđ‡āļ•āđ‰āļ­āļ‡āļĄāļĩāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āđƒāļŠāđˆāļ‚āđ‰āļ­āļĄāļđāļĨāļ„āļĢāļšāļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļŦāļĢāļ·āļ­āļ–āđ‰āļēāđ„āļĄāđˆāļāļĢāļ­āļ āļāđ‡āđ„āļĄāđˆāļ„āļ§āļĢāļāļĢāļ­āļāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļŠāđˆāļ­āļ‡ āļ­āļ˜āļīāļšāļēāļĒāļ­āļēāļˆāļˆāļ°āļ‡āļ‡ āļ‡āļąāđ‰āļ™āđ€āļĢāļēāđ„āļ›āļ”āļđāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļąāļ™āđ€āļĨāļĒāļ”āļĩāļāļ§āđˆāļē āđāļĨāļ°āđ€āļŠāđˆāļ™āđ€āļ”āļīāļĄ āđ€āļĢāļēāļāđ‡āļˆāļ°āđƒāļŠāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļēāļĒāļāļēāļĢāļ­āļēāļŦāļēāļĢāđ€āļŦāļĄāļ·āļ­āļ™āđ€āļ”āļīāļĄāđāļ•āđˆāļ”āļąāļ”āđāļ›āļĨāļ‡āđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒ

let receipt = [

    { name: "sausage", price: 42 },

    { name: "coffee", price: 32 },

    { name: "", price: "" }

]

āđ‚āļ”āļĒāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāđƒāļ™āđāļ•āđˆāļĨāļ° Object āļĄāļĩāļ‚āđ‰āļ­āļĄāļđāļĨāļ„āļĢāļšāļ—āļąāđ‰āļ‡ 2 āļŠāđˆāļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļŦāļĢāļ·āļ­āļ–āđ‰āļēāđ„āļĄāđˆāļĄāļĩāļāđ‡āđ„āļĄāđˆāļ„āļ§āļĢāļĄāļĩāļ—āļąāđ‰āļ‡ 2 āļŠāđˆāļ­āļ‡

let fullfill = receipts.reduce((prev, curr) => ((curr.name !== '' && 
curr.price !== '') || (curr.name === '' && curr.price === '') ? prev : prev + 1), 0)

console.log(fullfill)

āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļāđ‡āļ„āļ·āļ­ āđ€āļĄāļ·āđˆāļ­āļœāđˆāļēāļ™āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ element āđāļ•āđˆāļĨāļ°āļ•āļąāļ§āļāđ‡āļˆāļ°āļ—āļģāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē element āļ”āļąāļ‡āļāļĨāđˆāļēāļ§āļ™āļąāđ‰āļ™āļĄāļĩāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļŠāđˆāļ­āļ‡ āļŦāļĢāļ·āļ­ āđ„āļĄāđˆāļĄāļĩāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļŠāđˆāļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ–āđ‰āļēāđƒāļŠāđˆāļˆāļ° return āļ­āļ­āļāļĄāļēāđ€āļ›āđ‡āļ™ 0 āđāļĨāļ°āļ–āđ‰āļēāđ„āļĄāđˆ āļŦāļĢāļ·āļ­āļāđ‡āļ„āļ·āļ­āļĄāļĩāļ‚āđ‰āļ­āļĄāļđāļĨāđāļ„āđˆ name āļŦāļĢāļ·āļ­ price āļ•āļēāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ–āļąāļ”āļˆāļēāļāļ™āļĩāđ‰ āļāđ‡āļˆāļ° return āļ­āļ­āļāļĄāļēāđ€āļ›āđ‡āļ™ 1 āļŦāļĢāļ·āļ­āļĄāļēāļāļāļ§āđˆāļē āđāļĨāđ‰āļ§āđ€āļĢāļēāļāđ‡āļŠāļēāļĄāļēāļĢāļ–āđ€āļ­āļēāļ•āļąāļ§āđ€āļĨāļ‚āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđ„āļ›āđƒāļŠāđ‰āļ•āđˆāļ­āđƒāļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ­āļ·āđˆāļ™ āđ† āđƒāļ™āđ‚āļ„āđ‰āļ”āļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”āđ‰āļ„āļĢāļąāļš

let receipt = [

    { name: "sausage", price: 42 },

    { name: "coffee", price: "" },

    { name: "", price: "" }

]

āļŠāļĢāļļāļ›āļŠāļļāļ”āļ—āđ‰āļēāļĒāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļœāļđāđ‰āļ­āđˆāļēāļ™āļˆāļ°āđ„āļ”āđ‰āļĢāļąāļš

āđ€āļ›āđ‡āļ™āļĒāļąāļ‡āđ„āļ‡āļāļąāļ™āļšāđ‰āļēāļ‡āļ„āļĢāļąāļšāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ Reduce āļ—āļĩāđˆāļ™āļ­āļāđ€āļŦāļ™āļ·āļ­āļˆāļēāļāļāļēāļĢāļŦāļēāļœāļĨāļĢāļ§āļĄ āđ€āļĢāļĩāļĒāļāļ§āđˆāļēāđ€āļ›āđ‡āļ™ Array Method āļ•āļąāļ§āļŦāļ™āļķāđˆāļ‡āļ—āļĩāđˆāļ­āļēāļˆāļˆāļ°āļ‡āļ‡āđƒāļŠāđ‰āđ„āļ”āđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđƒāļ™āļ•āļ­āļ™āđāļĢāļ āđāļ•āđˆāđƒāļ™āļ‚āļ“āļ°āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāđ‡āđ€āļ›āđ‡āļ™ method āļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āđ„āļ”āđ‰āļŦāļĨāļēāļāļŦāļĨāļēāļĒāđ€āļŠāđˆāļ™āļāļąāļ™ āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āđ€āļžāļĩāļĒāļ‡āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ—āļĩāđˆāļĒāļāļĄāļēāļ™āļģāđ€āļŠāļ™āļ­āđ€āļžāļĩāļĒāļ‡āļšāļēāļ‡āļŠāđˆāļ§āļ™āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ āđāļĨāļ°āđāļ™āđˆāļ™āļ­āļ™āļ§āđˆāļēāđ€āļĢāļēāļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āļĄāļąāļ™āđ„āļ”āđ‰āļ­āļĩāļāļĄāļēāļāļĄāļēāļĒāđ€āļĨāļĒ āđ„āļĄāđˆāđāļ™āđˆāļ§āđˆāļēāđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāđ€āļžāļ·āđˆāļ­āļ™ āđ† āļāļģāļĨāļąāļ‡āđ‚āļ„āđ‰āļ”āļ­āļĒāļđāđˆāļāđ‡āļ­āļēāļˆāļˆāļ°āļŠāļēāļĄāļēāļĢāļ–āļ™āļģ Reduce āđ€āļ‚āđ‰āļēāļĄāļēāļŠāđˆāļ§āļĒāđ„āļ”āđ‰āļāđ‡āđ„āļ”āđ‰āļ™āļ°

 

 

āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļˆāļēāļ

  1. How to Use Map, Filter, and Reduce in JavaScript, āļŠāļ·āļšāļ„āđ‰āļ™āđ€āļĄāļ·āđˆāļ­ 22 āđ€āļĄāļĐāļēāļĒāļ™ 2565 āļˆāļēāļ: https://code.tutsplus.com/tutorials/how-to-use-map-filter-reduce-in-javascript–cms-26209
  2. JavaScript reduce behavior with/without an initial value, āļŠāļ·āļšāļ„āđ‰āļ™āđ€āļĄāļ·āđˆāļ­ 2 āļžāļĪāļĐāļ āļēāļ„āļĄ 2565 āļˆāļēāļ: https://stackoverflow.com/questions/50826718/javascript-reduce-behavior-with-without-an-initial-value
  3. Array.prototype.reduce(), āļŠāļ·āļšāļ„āđ‰āļ™āđ€āļĄāļ·āđˆāļ­ 2 āļžāļĪāļĐāļ āļēāļ„āļĄ 2565 āļˆāļēāļ: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
  4. 13 āļ—āđˆāļē Reduce Array āļŠāļĒāļ­āļ‡, āļŠāļ·āļšāļ„āđ‰āļ™āđ€āļĄāļ·āđˆāļ­ 2 āļžāļĪāļĐāļ āļēāļ„āļĄ 2565 āļˆāļēāļ: https://medium.com/dev-it/13-āļ—āđˆāļē-reduce-array-āļŠāļĒāļ­āļ‡-a619e65b1984
  5. .map(), .filter() āđāļĨāļ° .reduce() āļŠāļēāļĄāļ—āļŦāļēāļĢāđ€āļŠāļ·āļ­āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļąāļš Array[â€Ķ], āļŠāļ·āļšāļ„āđ‰āļ™āđ€āļĄāļ·āđˆāļ­ 2 āļžāļĪāļĐāļ āļēāļ„āļĄ 2565 āļˆāļēāļ: https://medium.com/@rennerwin/map-filter-reduce-āļŠāļēāļĄāļ—āļŦāļēāļĢāđ€āļŠāļ·āļ­āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļąāļš-array-49b2cd966e79
  6. JavaScript, Tricks with Reduce, āļŠāļ·āļšāļ„āđ‰āļ™āđ€āļĄāļ·āđˆāļ­ 2 āļžāļĪāļĐāļ āļēāļ„āļĄ 2565 āļˆāļēāļ: https://stephengalvan.medium.com/javascript-tricks-with-reduce-9c3a6f5d6168
  7. [JavaScript] Array .reduce() āđƒāļŠāđ‰āļ‡āļēāļ™āļĒāļąāļ‡āđ„āļ‡?, āļŠāļ·āļšāļ„āđ‰āļ™āđ€āļĄāļ·āđˆāļ­ 2 āļžāļĪāļĐāļ āļēāļ„āļĄ 2565 āļˆāļēāļ: https://www.kotenarok.com/2020/12/javascript-array-reduce.html

āļŦāļēāļāļ„āļļāļ“āļŠāļ™āđƒāļˆāļžāļąāļ’āļ™āļē āļŠāļ•āļēāļĢāđŒāļ—āļ­āļąāļž āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
āđāļĨāļ° āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļ­āļ‡ ?

āļ­āļĒāđˆāļēāļĢāļ­āļŠāđ‰āļē ! āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļ—āļąāļāļĐāļ°āļ”āđ‰āļēāļ™āļ”āļīāļˆāļīāļ—āļąāļĨāđ€āļžāļ·āđˆāļ­āļ­āļąāļžāđ€āļāļĢāļ”āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļ‡āļ„āļļāļ“
āđ€āļĢāļīāđˆāļĄāļ•āļąāđ‰āļ‡āđāļ•āđˆāļžāļ·āđ‰āļ™āļāļēāļ™ āļžāļĢāđ‰āļ­āļĄāļ›āļāļīāļšāļąāļ•āļīāļˆāļĢāļīāļ‡āđƒāļ™āļĢāļđāļ›āđāļšāļšāļŦāļĨāļąāļāļŠāļđāļ•āļĢāļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ§āļąāļ™āļ™āļĩāđ‰

BorntoDev

Author BorntoDev

BorntoDev Co., Ltd.

More posts by BorntoDev
Close Menu

āđ€āļĢāļēāđƒāļŠāđ‰āļ„āļļāļāļāļĩāđ‰āđ€āļžāļ·āđˆāļ­āļžāļąāļ’āļ™āļēāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđāļĨāļ°āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļ—āļĩāđˆāļ”āļĩāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒāļ‚āļ­āļ‡āļ„āļļāļ“ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļĻāļķāļāļĐāļēāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ„āļ”āđ‰āļ—āļĩāđˆ āļ™āđ‚āļĒāļšāļēāļĒāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§āđ€āļ­āļ‡āđ„āļ”āđ‰āļ‚āļ­āļ‡āļ„āļļāļ“āđ„āļ”āđ‰āđ€āļ­āļ‡āđ‚āļ”āļĒāļ„āļĨāļīāļāļ—āļĩāđˆ āļ•āļąāđ‰āļ‡āļ„āđˆāļē

āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§

āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ„āļļāļāļāļĩāđ‰āđ‚āļ”āļĒāđ€āļ›āļīāļ”/āļ›āļīāļ” āļ„āļļāļāļāļĩāđ‰āđƒāļ™āđāļ•āđˆāļĨāļ°āļ›āļĢāļ°āđ€āļ āļ—āđ„āļ”āđ‰āļ•āļēāļĄāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ āļĒāļāđ€āļ§āđ‰āļ™ āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™

āļĒāļ­āļĄāļĢāļąāļšāļ—āļąāđ‰āļ‡āļŦāļĄāļ”
āļˆāļąāļ”āļāļēāļĢāļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļ•āļąāļ§
  • āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™
    āđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™āļ•āļĨāļ­āļ”

    āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļĄāļĩāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ›āļāļ•āļī āđāļĨāļ°āđ€āļ‚āđ‰āļēāļŠāļĄāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ āļ„āļļāļ“āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ›āļīāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļ™āļĩāđ‰āđƒāļ™āļĢāļ°āļšāļšāđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒāļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”āđ‰
    āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļļāļāļāļĩāđ‰

  • āļ„āļļāļāļāļĩāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļ—āļēāļ‡āļāļēāļĢāļ•āļĨāļēāļ”

    āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ„āļļāļāļāļĩāđ‰āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļžāļ·āđˆāļ­āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒ āđāļĨāļ° āļ™āļģāđ€āļŠāļ™āļ­āđ‚āļ›āļĢāđ‚āļĄāļŠāļąāļ™ āļŠāļīāļ™āļ„āđ‰āļē āļĢāļ§āļĄāļ–āļķāļ‡āļŦāļĨāļąāļāļŠāļđāļ•āļĢāļŸāļĢāļĩ āđāļĨāļ° āļŠāļīāļ—āļ˜āļīāļžāļīāđ€āļĻāļĐāļ•āđˆāļēāļ‡ āđ† āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļ›āļīāļ”āļ„āļļāļāļāļĩāđ‰āļ›āļĢāļ°āđ€āļ āļ—āļ™āļĩāđ‰āđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāđˆāļ‡āļœāļĨāļ•āđˆāļ­āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļŦāļĨāļąāļ āđ€āļ§āđ‰āļ™āđāļ•āđˆāļāļēāļĢāļ™āļģāđ€āļŠāļ™āļ­āđ‚āļ›āļĢāđ‚āļĄāļŠāļąāļ™āļ—āļĩāđˆāļ­āļēāļˆāđ„āļĄāđˆāļ•āļĢāļ‡āļāļąāļšāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ
    āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļļāļāļāļĩāđ‰

āļšāļąāļ™āļ—āļķāļāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē