1.代碼示例:
function replaceKey(obj, oldKey, newKey) {// 如果不是對象或者oldKey不存在,直接返回原對象if (typeof obj !== 'object' || !obj || !(oldKey in obj)) return obj;// 如果是數組,遍歷數組每個元素if (Array.isArray(obj)) {obj.forEach((item, index) => {obj[index] = replaceKey(item, oldKey, newKey);});} else {// 如果oldKey在對象中,則替換鍵名if (oldKey in obj) {obj[newKey] = obj[oldKey];delete obj[oldKey];}// 遍歷對象的其他屬性,遞歸替換Object.keys(obj).forEach(key => {obj[key] = replaceKey(obj[key], oldKey, newKey);});}return obj;
}// 示例使用
const originalObject = {a: 1,b: { a: 2, b: { a: 3 } },c: [{ a: 4 }, { a: 5 }]
};const newObject = replaceKey(originalObject, 'a', 'x');
console.log(newObject);
?2.輸出結果