[英]How do i change the value of a key of a nested object in javascript
我有一個 object 變量,帶有這樣的嵌套鍵
const obj = {
kitchen: {
painting: 100,
piano: 1000,
signature: "",
},
bathroom: {
stereo: 220,
signature: "",
},
signature: "",
};
我想創建一個 function 來更改鍵“簽名”的值,在根對象和任何嵌套的 object 中都有一個名稱,它有一個鍵“簽名”。
所以:
function addSignature( obj , name){
}
回報
newObj = {
kitchen: {
painting: 100,
piano: 1000,
signature: name,
},
bathroom: {
stereo: 220,
signature: name,
},
signature: name,
};
我剛做了這個並且它有效但我不知道它是否太“hacky”
function addSignature(obj, name) {
if (obj.signature !== undefined) {
obj.signature = name;
}
Object.keys(obj).forEach((key) => {
if (typeof obj[key] === "object") {
addSignature(obj[key], name);
}
else if (obj[key].signature !== undefined) {
obj[key].signature = name;
}
});
return obj;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.