Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Lặp qua đối tượng và xóa thuộc tính falsy trong JavaScript

Giả sử chúng ta có đối tượng JSON như sau:

const obj = {    a: {       someKey: {          propOne: '',          enabled: true       }    },    b: {       someKey: {          propOne: '',          enabled: false       }    },    c: {       someKey: {          propOne: '',          enabled: false       }    },    someKey: {       ab: {          propOne: '',          enabled: true       }    } };

Chúng ta cần viết hàm JavaScript nhận đối tượng như vậy và xóa đệ quy tất cả thuộc tính "enabled" có giá trị falsy khỏi đối tượng tại chỗ.

Ví dụ

Mã cho việc này:

const obj = {    a: {       someKey: {          propOne: '',          enabled: true       }    },    b: {       someKey: {          propOne: '',          enabled: false       }    },    c: {       someKey: {          propOne: '',          enabled: false       }    },    someKey: {       ab: {          propOne: '',          enabled: true       }    } }; const deleteFalsyKey = obj => {    const keys = Object.keys(obj);    keys.forEach(key => {       if(obj[key].enabled === false){          delete obj[key];          return;       };       if(obj[key] && typeof obj[key] === 'object'){          deleteFalsyKey(obj[key]);          if (!Object.keys(obj[key]).length) {             delete obj[key];          };       }    }); }; deleteFalsyKey(obj); console.log(obj);

Đầu ra

Kết quả trên console:

{    a: { someKey: { propOne: '', enabled: true } },    someKey: { ab: { propOne: '', enabled: true } } }