reduceの使用
14182 ワード
1.reduceのデフォルトフォーマット
arr.reduce(callback( accumulator, currentValue, [, index[, array]] )[, initialValue])
2.オブジェクトを配列に変換して並べ替え
const sortedCupDispenserStatus = cupDipenserStatus.map(cupDispenser =>
Object.keys(cupDispenser)
.sort()
.reduce((obj, key) => ((obj[key] = cupDispenser[key]), obj), {})
);
3.配列の長さを求める
const arr = ['a','b','c'];
arr.reduce((acc,cur) => acc+1,0);
4.配列中の要素(オブジェクト)の属性値の和を求める
const drinks = [
{menu: 'americano', price:1800},
{menu: 'cafeLatte', price: 2200},
{menu: 'mintTea', price: 1900}
];
drinks.reduce((acc,cur) => acc+cur.price,0);
5.地図のように書く
drinks.reduce((acc,cur) => [...acc, cur.menu],[]);
6.辞書のように使う
const drinks = [
{menu: 'americano', price:1800},
{menu: 'cafeLatte', price: 2200},
{menu: 'mintTea', price: 1900}
];
const result = drinks.reduce((acc,cur) =>
{ return {...acc, [cur.id] : cur}},{})
//출력
{
1: { id: 1, menu: 'americano', price: 1800 },
2: { id: 2, menu: 'cafeLatte', price: 2200 },
3: { id: 3, menu: 'mintTea', price: 1900 }
}
7.一番高いメニューを探す
const drinks = [
{id : '1', menu : 'americano', price:1800},
{id : '2', menu : 'cafeLatte', price: 2200},
{id : '3', menu : 'mintTea', price : 1900}]
drinks.reduce((acc,drink)=>{
if(drink.price>acc) {
return drink.price}
return acc
},0)
8.一番安いメニューを探す
const result = drinks.reduce((acc,cur) => {
if(acc===null || cur.price < acc) {
return cur.menu
}
return acc
},null)
Reference
この問題について(reduceの使用), 我々は、より多くの情報をここで見つけました https://velog.io/@dev_shu/reduce의-활용テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol