1
我有幾個字段的搜索表單。如果用戶在字段中沒有輸入任何內容,它仍然會被髮送到值爲「null」的服務器。
但是,這種形式大約有25個可選(高級)字段,如果用戶沒有輸入任何內容,JSON根本不應該包含這個字段。
所以,我的問題是:是否有某種方式(模式也許),以避免這些25「if()else」?形成最終JSON的最佳方式是什麼?
謝謝!AngularJS形式。 JSON中的可選屬性
UPD: 謝謝@RIYAJKHAN爲您解答! 我已經成功使用LoDash由我自己來解決它:
private compactObject(obj) {
let compactObj = this.removeEmptyProperties(_.cloneDeep(obj));
_.forEach(compactObj, (value, key) => {
if (_.isObject(value)) {
compactObj[key] = this.compactObject(this.removeEmptyProperties(compactObj[key]));
}
});
return this.removeEmptyProperties(compactObj);
};
private removeEmptyProperties(obj) {
let trimedObj = _.cloneDeep(obj);
_.forEach(trimedObj, (value, key) => {
if (!value || _.isEmpty(trimedObj[key])) {
delete trimedObj[key];
}
});
return trimedObj;
}
有什麼錯只是把他們作爲空到服務器? – toskv