Object.entries(), Object.fromEntries()

3442 ワード

概要
JSオブジェクトの特定項目を削除し、解決プロセスを記録する必要がある場合があります.
Ojbect.keys()を使用して解決
次のオブジェクトがあると仮定した場合、valueがnullのentryを削除する必要がある場合は、次の問題を解決できます.
const obj = {
  a: 1,
  b: 2,
  c: null,
  d: null,
  e: 3,
  f: null,
}

Object.keys(obj).forEach((key) => {
  obj[key] === null && delete obj[key];
});
オブジェクト自体を変更するためにオブジェクトを可変にする必要がある場合は、上記のように解決できません.もちろん、このobjectをコピーした後は、上記のように解決すればよいのですが、コードが長くなってしまい、あまり満足していません.
Object.entrys(), Object.fromEntries()を使用して解決
const newObj = Object.fromEntries(
  Object.entries(obj).filter((entry) => entry[1] !== null))
);
以上のように、objectをarrayに変換してフィルタリングし、objectに変換すれば、ソースobjectを変更せずに問題を解決できます.それだけでなくarrayに関連する他の関数も利用できるので役に立つかもしれません.