浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【javascript】reduceを使って空白のオブジェクトを除去する方法

空白のオブジェクトを削除して新しいオブジェクトを作るのに

reduceが良いという情報を得たので早速メモ。

例として、ここに複数の個人情報が入ったオブジェクトがあります。

これにreduceの引数として私引数として空白のperson要素が抜かれた

オブジェクトを生成することができます。

</pre>
const person = {
0: {
id: 1,
name: "umi",
age: "17"
},
1: {
id: 2,
name: "niko",
family: "18"
},
2: {
id: 3,
name: "kotori",
family: "17"
},
3: {
id: "",
name: "",
family: ""
}
};
<pre>

二行目でreduceでpersonの中の[i][‘name’]が空白でないか

検索。一致した場合にその要素のオブジェクトのみ切り離します。

一致しなかった場合は引き続き順番通りにオブジェクトを生成します。

 

</pre>
Object.keys(person).reduce((acc, val) =>
(person[val]['name'] === '' ? acc : {
...acc,
[val]: person[val]
}
), {});
<pre>

返ってくる結果がこちら。

 

</pre>
{
0: {
id: 1,
name: "umi",
age: "17"
},
1: {
id: 2,
name: "niko",
family: "18"
},
2: {
id: 3,
name: "kotori",
family: "17"
},
};
<pre>

 

nameが空白のperson要素のみが消えて残りのperson要素のみで

オブジェクトを再生成することができました。

オブジェクト操作系はMDNのリファレンスにも詳しく書かれているので

一緒に見ることをおすすめします。

  • この記事いいね! (0)