【发布时间】:2020-03-25 03:26:15
【问题描述】:
我是 JavaScript 新手,我正在尝试用它的值交换一个键。但删除操作员似乎并没有真正删除该部分。我可能这样做是一种低效的方式,但请解释为什么删除有效但无效?以及如何将交换的价值加回来。提前致谢。
function swapKeyAndValue(obj,key)
{
for(let x of Object.keys(obj))
{
if (x == key){
console.log(obj);
let tempkey = x; //where tempkey is the key: name
let tempval = obj[x]; //where tempval is value:ellie
delete obj.x;
console.log(obj.x); //outputs undefined
console.log(obj); //outputs the obj with the deleted value?
console.log(obj.x); //outputs undefined
obj.tempkey=tempval;
//console.log(obj);
}
}
}
var instructor = { name: 'Elie', job: 'Instructor' };
swapKeyAndValue(instructor, 'name');
// {Elie: 'name', job: "Instructor"}
【问题讨论】:
-
我认为这可以帮助你:stackoverflow.com/questions/55428041/…
-
以防万一,不可变方法更有意义,有one
标签: javascript object key-value