javascript - 如何更改 javascript 对象中的对象键值

标签 javascript jquery json

假设我有以下对象:

obj1 = {
   'patato la blaza' : {
        'weight' : 5,
        'height' : 90
    },
    'apple ibiza' : {
        'weight' : 3,
        'height' : 84
    }
}

我想运行并修改它们,即更改 key 值,我该如何在 javascript/jQuery 中执行此操作? ,我知道我可以像这样修改:

$.each(obj1 , function(i , e){
   obj1[i] = "someramdomvalue"
});

但我不太明白如何更改/操作键的值,在上面提供的对象中,我想将 patato la blaza 的值更改为 patatoapple ibizaapple ,我将使用正则表达式来获取缩短的版本,但我不知道如何添加这些缩短的值作为对象中的新key。将不胜感激任何帮助。

注意::- 我已经搜索过了,但大多数问题都与如何更改对象的 value 值而不是 keys

最佳答案

我会在Object.keys()上使用reduce

let obj = {
  'patato la blaza': {
    'weight': 5,
    'height': 90
  },
  'apple ibiza': {
    'weight': 3,
    'height': 84
  }
};

obj = Object.keys(obj).reduce((a, b) => {
  a[b.substring(0, b.indexOf(' '))] = obj[b];
  return a;
}, {});

console.log(obj);

关于javascript - 如何更改 javascript 对象中的对象键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49449048/

相关文章:

javascript - 在nodejs中为oracledb提交后释放连接的正确方法是什么

javascript - 基于子元素的样式父元素

javascript - 将字符串转换为日期

javascript - 在 javascript/jquery 中取消 mousedown 事件

python - 如何处理 'dict' 对象没有属性 'META' ?

javascript - 在子 Iframe 中使用父 jquery 库

javascript - UIWebView 的 JavaScript 评估器是否能够使用 JS 的 RegExp 对象?

javascript - 将数据理解为 JQuery 选择器

javascript - 在 JavaScript 中有效地将数组映射到字符串

Python:如何从JSON文件中读取汉字?