主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ
書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。
2023/03/26
JavaScript で、例えば以下のようなオブジェクトがあったとして、
const obj = {
a: false,
b: undefined,
c: 0,
d: "",
};
value が undefined
なキー、つまりは今回の場合は b
を除いた、以下のようなオブジェクトが欲しいケースがある。
const obj = {
a: false,
c: 0,
d: "",
};
ので、これを作る方法。
インターネットで調べると delete
を使うケースがあるんですが、消すというか、同じのを作って消すのは違うくない?ということで、 reduce
を使ったパターンをご紹介。
const createNewObjWithoutUndefined = (originalObj: Record<string, unknown>) => {
return Object.keys(originalObj).reduce((obj, key) => {
if (originalObj[key] === undefined) return obj;
obj[key] = originalObj[key];
return obj;
}, {});
};
const newObj = createNewObjWithoutUndefined(obj);
こんな感じで、新しいオブジェクトが生成される。
ということで小ネタでした。