如何在javascript对象中更改对象键值
假设我有以下目标:如何在javascript对象中更改对象键值,javascript,jquery,json,Javascript,Jquery,Json,假设我有以下目标: obj1 = { 'patato la blaza' : { 'weight' : 5, 'height' : 90 }, 'apple ibiza' : { 'weight' : 3, 'height' : 84 } } 我想运行键并修改它们,即更改键值,如何在javascript/jQuery中执行此操作,我知道我可以这样修改值: $.each(obj1 , function(
obj1 = {
'patato la blaza' : {
'weight' : 5,
'height' : 90
},
'apple ibiza' : {
'weight' : 3,
'height' : 84
}
}
我想运行键
并修改它们,即更改键
值,如何在javascript/jQuery中执行此操作,我知道我可以这样修改值
:
$.each(obj1 , function(i , e){
obj1[i] = "someramdomvalue"
});
但我不太明白如何更改/操作键的值,在上面提供的对象中,我想将patato la blaza
的值更改为patato
和apple-ibiza
更改为apple
,我将使用正则表达式获得缩短版本,但我不知道如何将这些缩短的值作为新的键添加到对象中。非常感谢您的帮助
注意::-我已经搜索过了,但是大多数问题都是关于如何更改对象的值的值,而不是键的值,可能是这样的:
const obj1={
“patato la blaza”:{
“重量”:5,
身高:90
},
“苹果伊维萨”:{
“重量”:3,
身高:84
}
};
//示例键转换
常量转换=x=>x.split(“”[0];
Object.keys(obj1).forEach(key=>{
const val=obj1[键];
删除obj1[键];
obj1[变换(键)]=val;
});
控制台日志(obj1)代码>可能是这样的:
const obj1={
“patato la blaza”:{
“重量”:5,
身高:90
},
“苹果伊维萨”:{
“重量”:3,
身高:84
}
};
//示例键转换
常量转换=x=>x.split(“”[0];
Object.keys(obj1).forEach(key=>{
const val=obj1[键];
删除obj1[键];
obj1[变换(键)]=val;
});
控制台日志(obj1)代码>我会在Object.keys()上使用reduce
让obj={
“patato la blaza”:{
“重量”:5,
身高:90
},
“苹果伊维萨”:{
“重量”:3,
身高:84
}
};
obj=对象.键(obj).reduce((a,b)=>{
a[b.子串(0,b.indexOf('')]=obj[b];
返回a;
}, {});
控制台日志(obj)代码>我会在Object.keys()上使用reduce
让obj={
“patato la blaza”:{
“重量”:5,
身高:90
},
“苹果伊维萨”:{
“重量”:3,
身高:84
}
};
obj=对象.键(obj).reduce((a,b)=>{
a[b.子串(0,b.indexOf('')]=obj[b];
返回a;
}, {});
控制台日志(obj)
如果要使用$。each()
,我将使用所需的键创建一个新属性,复制现有属性的值,然后删除旧属性:
$.each(obj1 , function(i , e){
obj1["somenewkey"] = obj1[i];
delete obj1[i];
});
如果要使用$。each()
,我将使用所需的键创建一个新属性,复制现有属性的值,然后删除旧属性:
$.each(obj1 , function(i , e){
obj1["somenewkey"] = obj1[i];
delete obj1[i];
});
创建所有所需更改的映射,并使用新的键名称构建新对象:
var obj={
“patato la blaza”:{
“重量”:5,
身高:90
},
“苹果伊维萨”:{
“重量”:3,
身高:84
}
};
风险值变化={
“patato la blaza”:“土豆”,
“苹果伊维萨”:“苹果”
}
var res=Object.assign({},…Object.entries(obj.map)([prevKey,val])=>({[changes[prevKey]]:val}));
控制台日志(res)代码>创建所有所需更改的映射,并使用新的键名称构建新对象:
var obj={
“patato la blaza”:{
“重量”:5,
身高:90
},
“苹果伊维萨”:{
“重量”:3,
身高:84
}
};
风险值变化={
“patato la blaza”:“土豆”,
“苹果伊维萨”:“苹果”
}
var res=Object.assign({},…Object.entries(obj.map)([prevKey,val])=>({[changes[prevKey]]:val}));
控制台日志(res)代码>可能重复的可能重复的“谢谢”将试用并返回,TY将提供快速回答和演示:)谢谢将试用并返回,TY将提供快速回答和演示:)