我有一個物件,我想手動設定它們的值
reset({
delivery: '',
description1: '',
dine_in: '',
hidden: '',
hide_category_tile_details: '',
internal_name: '',
serves1: '',
size: '',
takeaway: '',
title1: '',
upload_image: {
id: '',
src: '',
image_url: '',
result: null,
},
});
幾個鍵一樣title1,serves1是動態的,未來從language_id
這個1標題之后,供應,描述的是language_id
如何設定的按鍵動態和他們的值設定為“”?
uj5u.com熱心網友回復:
我假設您無法更新您的密鑰。您可以使用以下代碼在物件中插入動態屬性。
`let obj = { delivery: '', dine_in: '', hidden: '', hide_category_tile_details: '', internal_name: '', size: '', takeaway: '', upload_image: { id: '', src: '', image_url: '', 結果: null, }, }
obj['description' language_id] = '你的描述';
obj['title' language_id] = '你的標題';
obj['serves' language_id] = '你的服務';`
uj5u.com熱心網友回復:
您可以使用Object.keys()以字串陣列的形式獲取物件自己的所有鍵的串列,或者您可以使用for...in回圈遍歷物件的鍵。
例如,使用for...in回圈:
const myObj = {
delivery: 'a',
description1: 'b',
dine_in: 'c',
hidden: 'd',
hide_category_tile_details: 'e',
internal_name: 'f',
serves1: 'g',
size: 'h',
takeaway: 'i',
title1: 'j',
upload_image: {
id: 'k',
src: 'l',
image_url: 'm',
result: null,
},
}
const reset = function (object) {
for (let prop in myObj) {
if (typeof myObj[prop] === 'string') {
myObj[prop] = '';
}
}
};
reset(myObj);
console.log(JSON.stringify(myObj, null, '\t'));
如您所見,該函式不是遞回的,因此它不會重置upload_image屬性中的物件。但是通過適當的測驗來檢測這樣的物件屬性,您可以使其遞回。請注意這可能會如何破壞,例如,如果您可能有回圈參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/358452.html
標籤:javascript
