🛠️
ちゃんとreduceを使う【JS】
mapとfilterを併用して使ってしまってたのでパフォーマンス的にちゃんとreduceを使う。
要改善なコード
const arr = [
{
name: "youtube",
develop: "google",
},
{
name: "instagram",
develop: "meta",
},
{
name: "facebook",
develop: "meta",
}
];
const result = arr.map((item) => ({
displayName: item.name,
displayValue: item.develop,
})).filter((item) => item.displayValue === "meta");
// result
// 0: {displayName: 'instagram', displayValue: 'meta'}
// 1: {displayName: 'facebook', displayValue: 'meta'}
reduceを使ったコード
const arr = [
{
name: "youtube",
develop: "google",
},
{
name: "instagram",
develop: "meta",
},
{
name: "facebook",
develop: "meta",
}
];
const result = arr.reduce((prev, current) => {
if (current.develop === "google") return prev;
return [
...prev,
{
displayName: current.name,
displayValue: current.develop
}
]
}, []);
// result(結果は同じ)
// 0: {displayName: 'instagram', displayValue: 'meta'}
// 1: {displayName: 'facebook', displayValue: 'meta'}
Discussion