js 遍历更改对象的键名
时间: 2023-10-15 09:31:16 浏览: 65
要遍历并更改 JavaScript 对象的键名,可以使用以下步骤:
1. 创建一个新的空对象,用于存储更改后的键名。
2. 使用 `for...in` 循环遍历原始对象的键。
3. 在循环中,使用 `Object.hasOwnProperty()` 方法检查对象是否具有该键。
4. 如果存在该键,在新对象中以新的键名存储对应的值,然后删除原始对象中的该键值对。
5. 最后,将新对象赋值给原始对象。
以下是一个示例代码:
```javascript
function changeObjectKeys(obj, keyMap) {
var newObj = {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
var newKey = keyMap[key] || key;
newObj[newKey] = obj[key];
delete obj[key];
}
}
for (var prop in newObj) {
obj[prop] = newObj[prop];
}
}
// 示例用法
var myObj = { foo: 1, bar: 2, baz: 3 };
var keyMap = { foo: 'newFoo', baz: 'newBaz' };
changeObjectKeys(myObj, keyMap);
console.log(myObj); // 输出: { newFoo: 1, bar: 2, newBaz: 3 }
```
在上面的示例中,`changeObjectKeys` 函数接受两个参数:原始对象 `obj` 和一个映射关系 `keyMap`,其中 `keyMap` 是一个包含旧键名和新键名对应关系的对象。函数将原始对象中的键名根据映射关系进行更改,并将更改后的键值对赋值给原始对象。