Javascript 如何使用java脚本/Angular重命名现有对象的键?

Javascript 如何使用java脚本/Angular重命名现有对象的键?,javascript,angular,object,Javascript,Angular,Object,我有一个现有的对象 此参数。数据={ 第三部分:飞机, 苏比德:翼, information.data.keyword:测试, 关键词:lt6 } 我试图做的是检查每个键,如果该键有.keyword,那么我将尝试删除它并创建它,而不使用.keyword。我不知道如何重命名和推送到现有对象 我到目前为止所做的 在这个.data{ ifx.includes'.关键字'{ 设xy=x.replace/.keyword/g; console.logxy; } } 您可以尝试复制/克隆对象,将其添加到此.

我有一个现有的对象

此参数。数据={ 第三部分:飞机, 苏比德:翼, information.data.keyword:测试, 关键词:lt6 } 我试图做的是检查每个键,如果该键有.keyword,那么我将尝试删除它并创建它,而不使用.keyword。我不知道如何重命名和推送到现有对象

我到目前为止所做的

在这个.data{ ifx.includes'.关键字'{ 设xy=x.replace/.keyword/g; console.logxy; } }
您可以尝试复制/克隆对象,将其添加到此.data,然后使用.keyword删除版本。

您可以尝试复制/克隆对象,将其添加到此.data,然后使用.keyword删除版本。

首先需要创建一个新密钥。为新创建的密钥赋值后,需要删除旧密钥

试试这个:

此参数。数据={ 第三部分:飞机, 苏比德:翼, information.data.keyword:测试, 关键词:lt6 } 对于让x在这个.data中{ 如果x.includes'.keyword'{ this.data[x.replace/.keyword/g,]=this.data[x]; 删除此。数据[x]; } }
console.logthis.data首先需要创建一个新密钥。为新创建的密钥赋值后,需要删除旧密钥

试试这个:

此参数。数据={ 第三部分:飞机, 苏比德:翼, information.data.keyword:测试, 关键词:lt6 } 对于让x在这个.data中{ 如果x.includes'.keyword'{ this.data[x.replace/.keyword/g,]=this.data[x]; 删除此。数据[x]; } } console.logthis.data试试这个

 let data = {
    "part": "aircraft",
    "subid": "wing",
    "information.data.keyword": "test",
    "fuel.keyword": "lt(6)"
  }

  Object.keys(data).forEach((x) => {
    if (x.includes('.keyword')) {

      this.data[x.replace(/.keyword/g, "")] = data[x];
      delete data[x]
    }
});

console.log(data)
试试这个

 let data = {
    "part": "aircraft",
    "subid": "wing",
    "information.data.keyword": "test",
    "fuel.keyword": "lt(6)"
  }

  Object.keys(data).forEach((x) => {
    if (x.includes('.keyword')) {

      this.data[x.replace(/.keyword/g, "")] = data[x];
      delete data[x]
    }
});

console.log(data)
您已经使用了包含和替换。只需使用前面提到的@Andreas删除操作符删除对象,并创建新条目

for(var k in data) {
   if (k.includes(".keyword")) {
      var newKey =  k.replace(/.keyword/g, "");// New key for new entry without .keyword
      data[newKey] = data[k]; //Creating new entry 
      delete(data[k]); //Deleting old entry
   }
}
您已经使用了包含和替换。只需使用前面提到的@Andreas删除操作符删除对象,并创建新条目

for(var k in data) {
   if (k.includes(".keyword")) {
      var newKey =  k.replace(/.keyword/g, "");// New key for new entry without .keyword
      data[newKey] = data[k]; //Creating new entry 
      delete(data[k]); //Deleting old entry
   }
}

解决方案已经在问题中:…删除并创建它…-解决方案已在问题中:…要删除并创建它-