JavaScriptã®é åã¡ãœããã®æ§æãšé¢æ°åããã°ã©ãã³ã°ãã§ãŒã³ãç¿åŸãmapãfilterãreduceãªã©ãåŠã³ãã¯ãªãŒã³ã§å¹ççãåå©çšå¯èœãªã³ãŒããäœæãã°ããŒãã«ãªå®äŸã玹ä»ã
JavaScripté åã¡ãœããã®æ§æïŒé¢æ°åããã°ã©ãã³ã°ã®ãã§ãŒã³
JavaScriptã®é
åã¡ãœããã¯ãããŒã¿ãæäœããããã®éåžžã«åŒ·åãªããŒã«ã§ãã颿°åããã°ã©ãã³ã°ã®ååãçšããŠçµã¿åãããããšã§ãéçºè
ã¯ç°¡æœã§èªã¿ããããå¹ççãªã³ãŒããæžãããšãã§ããŸãããã®èšäºã§ã¯ãé
åã¡ãœããã®æ§æãšããæŠå¿µãæ·±ãæãäžããmapãfilterãreduceãªã©ã®ã¡ãœããããã§ãŒã³ããŠãæŽç·ŽãããããŒã¿å€æãäœæããæ¹æ³ããã¢ã³ã¹ãã¬ãŒã·ã§ã³ããŸããäžççãªèŠç¹ã念é ã«çœ®ããäžçäžã®éçºè
ã«é©çšã§ããå®è·µçãªã¢ããªã±ãŒã·ã§ã³ã«çŠç¹ãåœãŠãªãããæ§ã
ãªäŸãæ¢æ±ããŸãã
JavaScriptã«ããã颿°åããã°ã©ãã³ã°ã®å
颿°åããã°ã©ãã³ã°ã¯ãçŽç²ãªé¢æ°ãã€ãŸãå¯äœçšãåŒãèµ·ãããã«ã€ã³ããããåãåãã¢ãŠãããããè¿ã颿°ã®äœ¿çšã匷調ããŸããããã«ãããã³ãŒãã®äºæž¬å¯èœæ§ãšãã¹ãå®¹ææ§ãåäžããŸããJavaScriptã§ã¯ãmapãfilterãreduceã®ãããªé
åã¡ãœããã¯ã颿°åããŒã«ã®åªããäŸã§ãããããã¯é
åã«å¯ŸããŠåäœããå
ã®ããŒã¿ã倿Žããããšãªãæ°ããé
åãè¿ãããã颿°åããã°ã©ãã³ã°ã«çæ³çã§ãã
é åã¡ãœãããçè§£ãã
äž»èŠãªé åã¡ãœããã®ããã€ãã«ã€ããŠç°¡åã«æ¯ãè¿ããŸãããïŒ
map(): æäŸããã颿°ã«åºã¥ããŠé åã®åèŠçŽ ã倿ãã倿ãããå€ãæã€æ°ããé åãäœæããŸããfilter(): 颿°ã«ãã£ãŠæäŸããããã¹ãã«åæ ŒããèŠçŽ ã®ã¿ãå«ãæ°ããé åãäœæããŸããreduce(): ã¢ãã¥ã ã¬ãŒã¿ãŒãšé åå ã®åèŠçŽ ïŒå·Šããå³ãžïŒã«å¯ŸããŠé¢æ°ãé©çšãããããåäžã®å€ã«éçŽããŸããforEach(): é åã®åèŠçŽ ã«å¯ŸããŠãæäŸããã颿°ãäžåºŠå®è¡ããŸããïŒæ³š:forEachã¯æ°ããé åãè¿ããªãããããã§ãŒã³ã§ã®äœ¿çšã¯ããŸãé©ããŠããŸãããïŒfind(): æäŸããããã¹ã颿°ãæºããé åå ã®æåã®èŠçŽ ã®å€ãè¿ããŸããsort(): é åã®èŠçŽ ãã€ã³ãã¬ã€ã¹ã§ãœãŒããããœãŒããããé åãè¿ããŸããïŒsortãå ã®é åã倿Žããããšã«æ³šæããŠãã ãããããã¯é¢æ°åããã°ã©ãã³ã°ã®æèã§ã¯åžžã«æãŸãããšã¯éããŸãããïŒ
é åã¡ãœããã®ãã§ãŒã³ïŒæ žãšãªãæŠå¿µ
ãããã®ã¡ãœããã®çã®åã¯ããããããã§ãŒã³ãšããŠçµåããããšãã«çŸããŸãããã§ãŒã³ãšã¯ãè€æ°ã®é åã¡ãœãããé£ç¶ããŠåŒã³åºãããšã§ãããããã¡ãœããã®åºåãæ¬¡ã®ã¡ãœããã®å ¥åãšããŠæ©èœããŸããããã«ãããè€éãªããŒã¿å€æãèªã¿ãããå¹ççãªæ¹æ³ã§äœæã§ããŸãã广çãªãã§ãŒã³ã®éµã¯ãåã¡ãœãããæ°ããé åïŒãŸãã¯æ¬¡ã®ã¡ãœããã§äœ¿çšå¯èœãªå€ïŒãè¿ããå¯äœçšãé¿ããããšã§ãã
äŸïŒè£œåäŸ¡æ Œãªã¹ãã®å€æïŒäŸïŒæ§ã ãªã°ããŒãã«é貚ããïŒ
ç°ãªãé貚ã®è£œåäŸ¡æ Œã®é åããããšæ³åããŠãã ãããæ¬¡ã®æäœãè¡ãå¿ èŠããããŸãïŒ
- ç¡å¹ãªäŸ¡æ ŒïŒäŸïŒè² ã®å€ïŒãé€å€ããŸãã
- æ®ãã®äŸ¡æ Œãå ±éé貚ïŒäŸïŒUSDïŒã«å€æããŸãã
- å²åŒïŒäŸïŒ10%ïŒãé©çšããŸãã
ã¡ãœãããã§ãŒã³ã䜿çšããŠãããå®çŸããæ¹æ³ã¯æ¬¡ã®ãšããã§ãïŒ
const prices = [
{ currency: 'USD', amount: 100 },
{ currency: 'EUR', amount: 80 },
{ currency: 'JPY', amount: -50 }, // Invalid price
{ currency: 'GBP', amount: 70 }
];
// Sample exchange rates (consider a real-world API for accuracy)
const exchangeRates = {
EUR: 1.10, // EUR to USD
JPY: 0.007, // JPY to USD
GBP: 1.25 // GBP to USD
};
const discountedPrices = prices
.filter(item => item.amount > 0) // Filter out invalid prices
.map(item => {
const exchangeRate = exchangeRates[item.currency] || 1; // Default to 1 (USD)
return {
currency: 'USD',
amount: item.amount * exchangeRate
};
})
.map(item => ({
currency: item.currency,
amount: item.amount * 0.9 // Apply 10% discount
}));
console.log(discountedPrices);
ãã®ã³ãŒãã¯ãããŒã¿ã倿ããããã®æç¢ºãã€ç°¡æœãªæ¹æ³ã瀺ããŠããŸããåã¹ãããã¯æç¢ºã«å®çŸ©ãããŠãããçè§£ããããã§ãããã®ã¢ãããŒãã«ãããè€æ°ã®éäžå€æ°ãå¿ èŠãšãããããžãã¯ãåäžã®èªã¿ãããã¹ããŒãã¡ã³ãã«ãŸãšããããšãã§ããŸããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã®ããã«ããŒã¿ã®ç²ŸåºŠãç¶æãããããå®éã®äº€æã¬ãŒãAPIã®äœ¿çšãåŒ·ãæšå¥šããŸãã
ãã§ãŒã³ãåè§£ãã
äŸãåè§£ããŠã¿ãŸãããïŒ
filter()ã¡ãœããã¯ãç¡å¹ãªéé¡ãæã€äŸ¡æ Œãšã³ããªãåé€ããŸãã- æåã®
map()ã¡ãœããã¯ããã¹ãŠã®æå¹ãªäŸ¡æ ŒãUSDã«å€æããŸãã倿ãå®è¡ããããã«çºæ¿ã¬ãŒãæ€çŽ¢ïŒå®äžçã§ã¯éåžžAPIããååŸããŸãïŒã䜿çšããŸãã - 2çªç®ã®
map()ã¡ãœããã¯ããã¹ãŠã®USDäŸ¡æ Œã«10%ã®å²åŒãé©çšããŸãã
æçµçµæã§ããdiscountedPricesã«ã¯ãããããUSDã§ã®å²åŒäŸ¡æ Œã衚ããªããžã§ã¯ãã®é
åãå«ãŸããŠããŸãã
ããè€éãªäŸ
1. ãŠãŒã¶ãŒããŒã¿ã®åŠç
ãŠãŒã¶ãŒãªããžã§ã¯ãã®é åãããã·ããªãªãèããŠã¿ãŸããããåãªããžã§ã¯ãã«ã¯ãååãã¡ãŒã«ã¢ãã¬ã¹ãåœãªã©ã®æ å ±ãå«ãŸããŠããŸããç¹å®ã®åœïŒäŸïŒãã€ãïŒã®ãŠãŒã¶ãŒã®ã¡ãŒã«ã¢ãã¬ã¹ã®ãªã¹ããååŸãããã®ååã倧æåã«ããããšããŸãã
const users = [
{ name: 'john doe', email: 'john.doe@example.com', country: 'USA' },
{ name: 'jane smith', email: 'jane.smith@example.com', country: 'UK' },
{ name: 'max mustermann', email: 'max.mustermann@example.de', country: 'Germany' },
{ name: 'maria miller', email: 'maria.miller@example.de', country: 'Germany' }
];
const germanEmails = users
.filter(user => user.country === 'Germany')
.map(user => ({
email: user.email,
name: user.name.toUpperCase()
}));
console.log(germanEmails);
ãã®äŸã§ã¯ããŠãŒã¶ãŒé åããã£ã«ã¿ãªã³ã°ããŠãã€ãã®ãŠãŒã¶ãŒã®ã¿ãå«ãããã®åŸçµæããããããŠã倧æåã®ååãšã¡ãŒã«ã¢ãã¬ã¹ãå«ãæ°ãããªããžã§ã¯ãã®é åãäœæããŸããããã¯ãããŸããŸãªã°ããŒãã«ã³ã³ããã¹ãã«é©çšã§ããäžè¬çãªããŒã¿æäœã¿ã¹ã¯ã瀺ããŠããŸãã
2. åœé販売ããŒã¿ã®çµ±èšèšç®
ã°ããŒãã«ã«éå¶ãããŠããeã³ããŒã¹ãã©ãããã©ãŒã ãæ³åããŠãã ãããç°ãªãåœã§ã®è²©å£²ããŒã¿ãããã補åäŸ¡æ Œãšæ°éãç°ãªãå ŽåããããŸããååœããšã®ç·åçãèšç®ããããšããŸãã
const salesData = [
{ country: 'USA', product: 'Widget A', price: 20, quantity: 10 },
{ country: 'UK', product: 'Widget B', price: 30, quantity: 5 },
{ country: 'USA', product: 'Widget B', price: 30, quantity: 15 },
{ country: 'Germany', product: 'Widget A', price: 20, quantity: 8 },
{ country: 'UK', product: 'Widget A', price: 20, quantity: 12 }
];
const countryRevenue = salesData.reduce((accumulator, sale) => {
const { country, price, quantity } = sale;
const revenue = price * quantity;
if (accumulator[country]) {
accumulator[country] += revenue;
} else {
accumulator[country] = revenue;
}
return accumulator;
}, {});
console.log(countryRevenue);
ããã§ã¯ãreduce()ã¡ãœããã䜿çšããŠsalesDataé
åãå埩åŠçããŸããå販売ã«ã€ããŠãåçãèšç®ãããã®åœã®çޝç©åèšãæŽæ°ããŸããreduceã¡ãœããã®ã¢ãã¥ã ã¬ãŒã¿ãŒã¯ãåœããšã®ç·åçã远跡ããããã«äœ¿çšãããæçµçã«countryRevenue倿°ã«ã¯ãååœããšã®ç·åçãå«ããªããžã§ã¯ããä¿æãããŸããã°ããŒãã«ãªç²ŸåºŠã確ä¿ããããã«ã販売ããŒã¿ã®èšç®ã«ãããŠé貚æç®ãçŸå°ã®çšéãèæ
®ããããšãå¿ããªãã§ãã ããã
ã¡ãœãããã§ãŒã³ã®ãã¹ããã©ã¯ãã£ã¹
é åã¡ãœãããã§ãŒã³ã䜿çšããŠãã¯ãªãŒã³ã§ä¿å®æ§ãé«ããå¹ççãªã³ãŒããæžãã«ã¯ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãèæ ®ããŠãã ããïŒ
- ç°¡æœããä¿ã€ïŒ èªã¿ã«ãããªããããªé床ã«è€éãªãã§ãŒã³ã¯é¿ããŠãã ãããå¿ èŠã«å¿ããŠãããå°ããã管çãããããã§ãŒã³ã«åè§£ããŸãããã
- åããããã倿°åã䜿çšããïŒ èªã¿ããããåäžãããããã«ã倿°ã«ã¯æå³ã®ããååãéžã³ãŸãããïŒäŸïŒ
fã§ã¯ãªãfilteredProductsïŒã - è«ççãªé åºã«åŸãïŒ ããŒã¿å€æããã»ã¹ãæç¢ºã«åæ ããè«ççãªé åºã§ã¡ãœãããé 眮ããŸãããã
- é床ãªãã¹ããé¿ããïŒ ãã§ãŒã³ãããã¡ãœããå ã®ãã¹ãããã颿°åŒã³åºãã¯ãããã«ã³ãŒããçè§£ãã«ããããå¯èœæ§ããããŸããããžãã¯ãè€éã«ãªããããå Žåã¯ãããããåå¥ã®é¢æ°ã«åå²ããããšãæ€èšããŸãããã
- ã³ã¡ã³ããè³¢ã䜿ãïŒ è€éãªãã§ãŒã³ãåã ã®ã¹ãããã®ç®çã説æããããã«ã³ã¡ã³ãã远å ããŸããããç¹ã«è€éãªããžãã¯ããã¡ã€ã³åºæã®èšç®ãæ±ãå Žåã«æå¹ã§ãã
- 培åºçã«ãã¹ãããïŒ é åã¡ãœãããã§ãŒã³ãæ£ããæ©èœããæåŸ ãããçµæãçæããŠããããšã確èªããããã«åäœãã¹ããæžããŸãããããšããžã±ãŒã¹ãå¢çæ¡ä»¶ã®ãã¹ããæ€èšããŠãã ããã
- ããã©ãŒãã³ã¹ãèæ ®ããïŒ é åã¡ãœããã¯äžè¬çã«å¹ççã§ãããéåžžã«é·ããã§ãŒã³ãã¡ãœããå ã®è€éãªæäœã¯ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããããšããããŸããç¹ã«å€§èŠæš¡ãªããŒã¿ã»ãããæ±ãå Žåã¯ãããã©ãŒãã³ã¹äžã®æžå¿µãããå Žåã«ã³ãŒãããããã¡ã€ãªã³ã°ããŸãããã
- ã€ãã¥ãŒã¿ããªãã£ãåãå
¥ããïŒ å
ã®é
åã倿Žããããšã¯é¿ããŠãã ããã
mapãfilterãreduceã®ãããªé åã¡ãœããã¯ãå ã®ããŒã¿ã®æŽåæ§ãä¿ã¡ãªããæ°ããé åãè¿ãããã«èšèšãããŠããŸããããã¯é¢æ°åããã°ã©ãã³ã°ã«ãšã£ãŠäžå¯æ¬ ã§ãããäºæãã¬å¯äœçšãé²ãã®ã«åœ¹ç«ã¡ãŸãã - ãšã©ãŒãé©åã«åŠçããïŒ åŠçããããŒã¿ã«ãšã©ãŒãå«ãŸããå¯èœæ§ãããå Žåã¯ãäºæãã¬çµæãã¯ã©ãã·ã¥ãé²ãããã«ããã§ãŒã³å ã«ãã§ãã¯ãšãšã©ãŒåŠçãå®è£ ããŸããããäŸãã°ãæœåšçãªnullãŸãã¯undefinedå€ãåŠçããããã«ããªãã·ã§ãã«ãã§ãŒã³ïŒ?.ïŒãNullåäœæŒç®åïŒ??ïŒã䜿çšã§ããŸãã
ããããèœãšã穎ãšåé¿æ¹æ³
é åã¡ãœãããã§ãŒã³ã¯åŒ·åã§ãããæ³šæãã¹ãããã€ãã®äžè¬çãªèœãšã穎ããããŸãïŒ
- å
ã®é
åã倿ŽããïŒ ãœãŒã¹ããŒã¿ãçŽæ¥å€æŽããå
·äœçãªçç±ããªãéãããã§ãŒã³å
ã§
sort()ã®ãããªã¡ãœããã䜿çšããããšã¯é¿ããŠãã ãããå ã®é åã倿Žããã«ãœãŒããããã³ããŒãå¿ èŠãªå Žåã¯ãsort()ãåŒã³åºãåã«slice()ã䜿çšããŠãã ããã - ã¡ãœããå ã®è€éãªããžãã¯ïŒ é åã¡ãœããã®ã³ãŒã«ããã¯é¢æ°å ã«è€éãªããžãã¯ãçŽæ¥é 眮ããããšã¯é¿ããŠãã ãããèªã¿ããããšä¿å®æ§ãåäžãããããã«ãè€éãªæäœã¯åå¥ã®ãé©åã«ååãä»ãããã颿°ã«åè§£ããŸãããã
- ããã©ãŒãã³ã¹ãç¡èŠããïŒ ã³ãŒãã®ããã©ãŒãã³ã¹ãéèŠãªã»ã¯ã·ã§ã³ã§ã¯ãé åã¡ãœãããã§ãŒã³ã®è€éãã«æ³šæããŠãã ãããç¹ã«å€§èŠæš¡ãªããŒã¿ã»ãããæ±ãå Žåãé床ã«è€éãªãã§ãŒã³ã¯ããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ããå¯èœæ§ããããŸããå¿ èŠã«å¿ããŠä»£æ¿ã¢ãããŒãïŒäŸïŒã«ãŒãïŒãæ€èšããŠãã ããããã ããåžžã«èªã¿ããããšä¿å®æ§ãæåªå ããæé©åããåã«ããã©ãŒãã³ã¹ãžã®åœ±é¿ã枬å®ããŠãã ããã
- ãšã©ãŒåŠçã®äžè¶³ïŒ ããŒã¿ã®æœåšçãªãšã©ãŒãåžžã«èæ ®ããäºæãã¬åäœãé²ãããã«é©åãªãšã©ãŒåŠçãå®è£ ããŠãã ããã
- é床ã«é·ããã§ãŒã³ïŒ éåžžã«é·ããã§ãŒã³ã¯èªã¿åãããããã°ãå°é£ã«ãªãããšããããŸããããããããå°ããã管çããããå¡ã«åè§£ããŸãããã
é«åºŠãªãã¯ããã¯ïŒåºæ¬ãè¶ ããŠ
åºæ¬ãç¿åŸããããã¡ãœãããã§ãŒã³ã®ã¹ãã«ãåäžãããããã®é«åºŠãªãã¯ããã¯ãæ¢æ±ã§ããŸãïŒ
- ã«ãªãŒåïŒ ã«ãªãŒåãšã¯ãè€æ°ã®åŒæ°ãåãåã颿°ãããããããåäžã®åŒæ°ãåãåã颿°ã®ã·ãŒã±ã³ã¹ã«å€æãããã¯ããã¯ã§ããããã¯ããã§ãŒã³å ã®ç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«åãããŠèª¿æŽãããåå©çšå¯èœãªé¢æ°ãäœæããã®ã«åœ¹ç«ã¡ãŸãã
- éšåé©çšïŒ éšåé©çšãšã¯ãæ¢åã®é¢æ°ããäžéšã®åŒæ°ãäºåã«åããããšã§æ°ãã颿°ãäœæããããšã§ããããã«ãããé åã¡ãœããã«ç°¡åã«çµã¿èŸŒããç¹æ®ãªé¢æ°ãäœæããããšã§ããã§ãŒã³ãç°¡çŽ åã§ããŸãã
- åå©çšå¯èœãªãŠãŒãã£ãªãã£é¢æ°ã®äœæïŒ äžè¬çãªããŒã¿å€æãã¿ãŒã³ãã«ãã»ã«åãããå°ãããŠåå©çšå¯èœãªé¢æ°ãå®çŸ©ããŸãããããããã®é¢æ°ã¯ãã§ãŒã³ã«ç°¡åã«çµã¿èŸŒãããšãã§ããã³ãŒãã®ã¢ãžã¥ãŒã«æ§ãä¿å®æ§ãåäžãããŸããäŸãã°ãé貚ã®éé¡ãå¥ã®é貚ã«å€æãã颿°ããç¹å®ã®æ¥ä»åœ¢åŒã§æ¥ä»ããã©ãŒããããã颿°ãªã©ã§ãã
- å€éšã©ã€ãã©ãªã®äœ¿çšïŒ LodashãUnderscore.jsã®ãããªã©ã€ãã©ãªã¯ãã¡ãœãããã§ãŒã³ãšã·ãŒã ã¬ã¹ã«çµ±åã§ããè±å¯ãªãŠãŒãã£ãªãã£é¢æ°ãæäŸããŸãããããã®ã©ã€ãã©ãªã¯ãè€éãªæäœãåŠçãã䟿å©ãªæ¹æ³ãæäŸããããŒã¿å€æãåçåã§ããŸãããã ããã©ã€ãã©ãªã䜿çšããããšã«ãã远å ã®ãªãŒããŒãããã«æ³šæãããã®å©ç¹ãæœåšçãªããã©ãŒãã³ã¹ãžã®åœ±é¿ãäžåããã©ãããæ€èšããŠãã ããã
å®äžçAPIãšã®çµ±åïŒã°ããŒãã«ãªèæ ®äºé ïŒ
å€ãã®å®äžçã¢ããªã±ãŒã·ã§ã³ã§ã¯ãAPIããã®ããŒã¿ååŸã䌎ããŸããé
åã¡ãœãããã§ãŒã³ãšAPIå¿çãçµ±åããããšã§ãããŒã¿åŠçã¿ã¹ã¯ã倧å¹
ã«ç°¡çŽ åã§ããŸããäŸãã°ãã°ããŒãã«ãªEã³ããŒã¹APIããååŸãã補åæ
å ±ã衚瀺ããã¢ããªã±ãŒã·ã§ã³ãèããŠã¿ãŸããããfetchãaxiosã䜿çšããŠããŒã¿ãååŸãããã®åŸé
åã¡ãœããããã§ãŒã³ããŠããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã«ã¬ã³ããªã³ã°ããåã«ããŒã¿ã倿ããããšãã§ããŸãã
async function getProducts() {
try {
const response = await fetch('https://api.example.com/products'); // Replace with a real API endpoint
const data = await response.json();
const formattedProducts = data
.filter(product => product.status === 'active')
.map(product => ({
id: product.id,
name: product.name,
price: product.price, // Assuming price is already in USD or has a currency property
imageUrl: product.imageUrl,
countryOfOrigin: product.country // Consider mapping country codes to names
}));
// Further processing with more chains (e.g., sorting, filtering by price, etc.)
return formattedProducts;
} catch (error) {
console.error('Error fetching products:', error);
return []; // Return an empty array on error, or handle the error in a better way
}
}
getProducts().then(products => {
// Do something with the products (e.g., render them on the page)
console.log(products);
});
ãã®äŸã¯ãAPIããããŒã¿ãååŸããçµæããã£ã«ã¿ãªã³ã°ïŒäŸïŒã¢ã¯ãã£ããªè£œåã®ã¿ã衚瀺ïŒããããŒã¿ã䜿ãããã圢åŒã«å€æããæ¹æ³ã瀺ããŠããŸãã以äžã®ç¹ãèæ ®ããŠãã ããïŒ
- APIèªèšŒïŒ APIã¯èªèšŒïŒäŸïŒAPIããŒãOAuthïŒãå¿ èŠãšããããšããããããŸããã³ãŒããèªèšŒãæ£ããåŠçããŠããããšã確èªããŠãã ããã
- ãšã©ãŒåŠçïŒ APIãšã©ãŒïŒäŸïŒãããã¯ãŒã¯ãšã©ãŒãç¡å¹ãªå¿çïŒãé©åã«åŠçããããã«ãå
ç¢ãªãšã©ãŒåŠçãå®è£
ããŠãã ããã
try...catchãããã¯ã®äœ¿çšãæ€èšããŠãã ããã - ããŒã¿æ€èšŒïŒ APIããè¿ãããããŒã¿ãæåŸ ããã圢åŒã§ããããšã確èªããããã«æ€èšŒããŠãã ãããããã«ããããã§ãŒã³ã§ã®äºæãã¬ãšã©ãŒãé²ãããšãã§ããŸãã
- ããŒã¿å€æïŒ é åã¡ãœãããã§ãŒã³ã䜿çšããŠãçã®APIããŒã¿ãã¢ããªã±ãŒã·ã§ã³ã§å¿ èŠãšããã圢åŒã«å€æããŸããããã¯ãã°ãã°ãããŒã¿ããŠãŒã¶ãŒãã¬ã³ããªãŒãªæ§é ã«ãããã³ã°ããããèšç®ãå®è¡ãããããããšã䌎ããŸãã
- APIã«é¢ããã°ããŒãã«ãªèæ
®äºé
ïŒ APIãç¹ã«ã°ããŒãã«ãªã¢ããªã±ãŒã·ã§ã³ã§äœæ¥ããéã«ã¯ã以äžãèæ
®ããŠãã ããïŒ
- ããŒã«ãªãŒãŒã·ã§ã³ïŒ ç°ãªãèšèªãéè²šãæ¥ä»/æå»åœ¢åŒãåŠçããŸãã
- ã¿ã€ã ãŸãŒã³ïŒ æ¥ä»ãšæå»ãæ±ãéã«ã¯ãã¿ã€ã ãŸãŒã³ã®éããèæ ®ããŠãã ããã
- ããŒã¿ãã©ã€ãã·ãŒïŒ ãŠãŒã¶ãŒããŒã¿ãåéã»åŠçããéã«ã¯ãããŒã¿ãã©ã€ãã·ãŒèŠå¶ïŒäŸïŒGDPRãCCPAïŒã«çæããŠãã ããã
- APIã¬ãŒãå¶éïŒ APIã¬ãŒãå¶éã«æ³šæãããããè¶ ããªãããã«ããããã®æŠç¥ïŒäŸïŒãã£ãã·ã¥ã®äœ¿çšããªã¯ãšã¹ãã®å詊è¡ïŒãå®è£ ããŠãã ããã
- ããŒã¿ã¬ãžãã³ã·ãŒïŒ æ³çèŠå¶ã«ãããäžéšã®ããŒã¿ã¯ç¹å®ã®å°åãåœã«ä¿åããå¿ èŠãããå ŽåããããŸããAPIã€ã³ãã©ã¹ãã©ã¯ãã£ãéžæããéã«ã¯ãããŒã¿ã¬ãžãã³ã·ãŒãèæ ®ããŠãã ããã
ããã©ãŒãã³ã¹ã®èæ ®äºé ãšæé©å
é åã¡ãœãããã§ãŒã³ã¯ãã°ãã°ãšã¬ã¬ã³ãã§èªã¿ãããã³ãŒãã«ã€ãªãããŸãããç¹ã«å€§èŠæš¡ãªããŒã¿ã»ãããæ±ãéã«ã¯ããã©ãŒãã³ã¹ãèæ ®ããããšãäžå¯æ¬ ã§ãã以äžã«ãããã©ãŒãã³ã¹ãæé©åããããã®ãã³ããããã€ã玹ä»ããŸãïŒ
- é床ãªå埩ãé¿ããïŒ å¯èœã§ããã°ãè€æ°ã®ãã£ã«ã¿ãªã³ã°ãŸãã¯ãããã³ã°æäœãåäžã®æäœã«çµåããŠãé
åã«å¯ŸããååŸ©åæ°ãæžãããŸããäŸãã°ããã£ã«ã¿ãªã³ã°ããŠãããããã³ã°ãã代ããã«ãæ¡ä»¶ä»ãããžãã¯ã䜿çšããŠ1ã€ã®
map()æäœã«çµåããŸãã reduce()ãé©åã«äœ¿çšããïŒreduce()ã¡ãœããã¯åŒ·åã§ãããå Žåã«ãã£ãŠã¯ä»ã®ã¡ãœãããããå¹çãæªãããšããããŸããåçŽãªå€æã®ã¿ãå¿ èŠãªå Žåã¯ãmap()ãŸãã¯filter()ã®äœ¿çšãæ€èšããŠãã ããã- éåžžã«å€§èŠæš¡ãªããŒã¿ã»ããã«å¯Ÿããä»£æ¿æ¡ãæ€èšããïŒ éåžžã«å€§èŠæš¡ãªããŒã¿ã»ããã®å Žåãé å»¶è©äŸ¡ïŒãã¬ãŒã ã¯ãŒã¯ã§ãµããŒããããŠããå ŽåïŒããå€§èŠæš¡ããŒã¿åŠççšã«èšèšãããç¹æ®ãªã©ã€ãã©ãªãªã©ã®ãã¯ããã¯ã®äœ¿çšãæ€èšããŠãã ãããå Žåã«ãã£ãŠã¯ãæšæºçãªã«ãŒãã®æ¹ãããã©ãŒãã³ã¹ãé«ãããšããããŸãã
- ã³ãŒãããããã¡ã€ãªã³ã°ããïŒ ãã©ãŠã¶ã®éçºè ããŒã«ãããã©ãŒãã³ã¹ãããã¡ã€ãªã³ã°ããŒã«ã䜿çšããŠãé åã¡ãœãããã§ãŒã³ã®ããã©ãŒãã³ã¹ããã«ããã¯ãç¹å®ããŸããããã«ãããæé©åãå¿ èŠãªé åãç¹å®ã§ããŸãã
- ã¡ã¢åïŒ é åã¡ãœããå ã§èšç®ã³ã¹ãã®é«ãåŠçãå®è¡ããŠããå Žåã¯ãåé·ãªèšç®ãé¿ããããã«çµæãã¡ã¢åããããšãæ€èšããŠãã ããã
- ã³ãŒã«ããã¯é¢æ°ãæé©åããïŒ é åã¡ãœããã«æž¡ãããã³ãŒã«ããã¯é¢æ°ãå¯èœãªéãå¹ççã«ããŸããã³ãŒã«ããã¯é¢æ°å ã§äžèŠãªèšç®ãè€éãªæäœãé¿ããŠãã ããã
- ãã³ãããŒã¯ïŒ ã©ã¡ãã®ã¢ãããŒããããããã©ãŒãã³ã¹ãé«ããäžæãªå Žåã¯ã
console.time()ãconsole.timeEnd()ãªã©ã®ããŒã«ãŸãã¯å°çšã®ãã³ãããŒã¯ã©ã€ãã©ãªã䜿çšããŠãç°ãªãå®è£ ããã³ãããŒã¯ããŠãã ãããçŸå®çãªããŒã¿ã»ãããšãŠãŒã¹ã±ãŒã¹ã§ããã©ãŒãã³ã¹ã枬å®ããæ å ±ã«åºã¥ããæ±ºå®ãäžããŸãããã
äžçäžã®å®äŸ
é åã¡ãœããã®æ§æãã©ã®ããã«çŸå®äžçã®åé¡ã解決ãããã瀺ãå®è·µçãªãŠãŒã¹ã±ãŒã¹ãã倿§ãªã°ããŒãã«ãªç¶æ³ã«çŠç¹ãåœãŠãŠèŠãŠãããŸãããïŒ
- Eã³ããŒã¹ïŒåœéé
éèšç®ïŒïŒ EUãã¢ãžã¢ãåç±³ã§éå¶ãããŠããEã³ããŒã¹ãã©ãããã©ãŒã ã¯ã
map()ã䜿çšããŠãç®çå°ã®åœãééã補åã¿ã€ãã«åºã¥ããŠæ³šæã®éæãèšç®ããŸãããããfilter()ãšçµã¿åãããŠãåœéèŠå¶ã«ããç¹å®ã®å°åã«çºéã§ããªãåç®ãå«ã泚æãé€å€ããããšãã§ããŸãã - éèã¢ããªã±ãŒã·ã§ã³ïŒé貚æç®ãšã¬ããŒãäœæïŒïŒ ã°ããŒãã«ãªéèæ©é¢ã¯ã
map()ã䜿çšããŠãæ§ã ãªé貚ïŒäŸïŒJPYãEURãGBPïŒã®ååŒããã¬ããŒãäœæç®çã§åºè»žé貚ïŒUSDïŒã«å€æããŸããFilter()ã¯ç¹å®ã®ååŒã¿ã€ããåé¢ããããã«äœ¿çšãããreduce()ã¯ååœããšã®ç·åçãUSDã§èšç®ããåœéæ¥åã®éèšã¬ããŒããæäŸããŸãã - ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ïŒã³ã³ãã³ããã£ã«ã¿ãªã³ã°ãšããŒãœãã©ã€ãŒãŒã·ã§ã³ïŒïŒ äžçäžã«ãŠãŒã¶ãŒãæã€ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã¯ãèšèªãããŒã¯ãŒãããŸãã¯ã³ãã¥ããã£ã¬ã€ãã©ã€ã³ã«åºã¥ããŠäžé©åãŸãã¯äžå¿«ãªã³ã³ãã³ããåé€ããããã«
filter()ã䜿çšããŸãã圌ãã¯map()ãšreduce()ã䜿çšããŠã奜ã¿ã®å°åããã®ã³ã³ãã³ããèå³ã«åèŽããã³ã³ãã³ããåªå ããããšã§ããŠãŒã¶ãŒãã£ãŒããããŒãœãã©ã€ãºããããšãã§ããŸãã - æ
è¡äºçŽãŠã§ããµã€ãïŒæ
è¡ãªãã·ã§ã³ã®ãã£ã«ã¿ãªã³ã°ãšãœãŒãïŒïŒ æ
è¡äºçŽãŠã§ããµã€ãã§ã¯ããŠãŒã¶ãŒãäžçäžã®ãã©ã€ããããã«ãã¢ã¯ãã£ããã£ãæ€çŽ¢ã§ããŸãã圌ãã¯
filter()ã䜿çšããŠæ§ã ãªåºæºïŒäŸïŒäŸ¡æ Œåž¯ãç®çå°ãæ¥ä»ïŒã«åºã¥ããŠæ€çŽ¢çµæããã£ã«ã¿ãªã³ã°ããsort()ã䜿çšããŠäŸ¡æ Œã人æ°åºŠããŸãã¯æéã«åºã¥ããŠçµæããœãŒãããŸããMap()ã¯ãååŸããããŒã¿ããŠã§ããµã€ãå šäœã§ãŠãŒã¶ãŒãã¬ã³ããªãŒãªæ¹æ³ã§è¡šç€ºããããã«å€æããããã«å©çšãããŸãã - åœé人æç޹ä»ãã©ãããã©ãŒã ïŒåè£è
ã®ãã£ã«ã¿ãªã³ã°ãšãããã³ã°ïŒïŒ åœéçãªäººæç޹ä»ãã©ãããã©ãŒã ã¯ãã¹ãã«ãçµéšãæåšå°ãèšèªèœåïŒäŸïŒè±èªãã¹ãã€ã³èªãå京èªïŒã«åºã¥ããŠåè£è
ããŒã«ãçµã蟌ãããã«
filter()ãæŽ»çšããŸãããã®åŸãmap()ã䜿çšããŠãã¿ãŒã²ãããªãŒãã£ãšã³ã¹ã®çŸå°ã®æ £ç¿ã«åŸã£ãŠåè£è ããŒã¿ããã©ãŒãããããã³æç€ºããç°ãªãæåã«ãããååã®è¡šç€ºèšå®ïŒäŸïŒå§ã»åããŸãã¯åã»å§ïŒãªã©ã®èŠçŽ ãèæ ®ããããšãã§ããŸãã
ãããã¯ã»ãã®äžäŸã§ãããå¯èœæ§ã¯äºå®äžç¡éã§ããé åã¡ãœããã®æ§æã掻çšããããšã§ãéçºè ã¯å€æ§ãªã°ããŒãã«èŠä»¶ã«å¯Ÿå¿ãã匷åã§æè»ãªããŒã¿åŠçãœãªã¥ãŒã·ã§ã³ãäœæã§ããŸãã
çµè«ïŒæ§æã®åãæŽ»çšãã
JavaScriptã®é åã¡ãœããæ§æã¯ãããŒã¿æäœã«å¯Ÿãã匷åã§ãšã¬ã¬ã³ããªã¢ãããŒããæäŸããŸããã³ã¢ã¡ãœãããçè§£ãã广çãªãã§ãŒã³ãã¯ããã¯ãå®è·µãããã¹ããã©ã¯ãã£ã¹ãéµå®ããããšã§ãããã¯ãªãŒã³ã§èªã¿ããããå¹ççãªã³ãŒããæžãããšãã§ããŸããã°ããŒãã«ãªèŠç¹ãå¿ããªãã§ãã ããã仿¥ã®çžäºæ¥ç¶ãããäžçã§ã¯ãç°ãªãé貚ãèšèªãæåçãã¥ã¢ã³ã¹ã«é©å¿ã§ãããœãªã¥ãŒã·ã§ã³ãèšèšããããšãéèŠã§ãã颿°åããã°ã©ãã³ã°ã®åãæŽ»çšããã°ãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã®å ç¢ã§ã¹ã±ãŒã©ãã«ãªJavaScriptã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ååãªæºåãæŽããŸãã
ãã®èšäºã§æŠèª¬ããååãšãã¯ããã¯ãäžè²«ããŠé©çšããããšã§ãJavaScriptã¹ãã«ãåäžããã倿§ãªã°ããŒãã«ãªç¶æ³ã§è€éãªããŒã¿åŠçã®èª²é¡ã«åãçµãããšãã§ãããããçç·Žãã广çãªéçºè ã«ãªãã§ããããå®éšãç¶ããåŠã³ç¶ããæ§æãç¶ããŠãã ããïŒ