首页 > 解决方案 > 如何在键中不使用 at 符号 (@) 保留此对象数组 - ES2006/ES2020

问题描述

如何让这个对象数组在键中没有 at 符号 (@) 以静态方式,但以动态方式,因为我会有更多给定的情况,并且具有不同的键名;

有时我可能有@SIGLA,或者不在电话中;

如何:

const object = [
    {
      "@UF": "SP",
      "@SIGLA": "PJ",
      "@NUM_CONSELHO": "111",
      "@NOME": "JAMIL ANDRÉ",
      "@ID_PROFISSIONAL": "1221212"
    },
    {
      "@UF": "RJ",
      "@SIGLA": "CLT",
      "@NUM_CONSELHO": "2222",
      "@NOME": "POCARRONTAS",
      "@ID_PROFISSIONAL": "212121212"
    },] 

必须如何:

const object = [
    {
      "UF": "SP",
      "SIGLA": "PJ",
      "NUM_CONSELHO": "111",
      "NOME": "JAMIL ANDRÉ",
      "ID_PROFISSIONAL": "1221212"
    },
    {
      "UF": "RJ",
      "SIGLA": "CLT",
      "NUM_CONSELHO": "2222",
      "NOME": "POCARRONTAS",
      "ID_PROFISSIONAL": "212121212"
    },
]

标签: javascriptreactjs

解决方案


只需遍历对象并删除@

let y = {};
for (key in x) {
    y[key.replace(/^@/,'')] = x[key];
}
x = y;

对整个数组执行此操作:

for (let i=0; i<object.length; i++) {
    let y = {};
    for (key in object[i]) {
        y[key.replace(/^@/,'')] = object[i][key];
    }
    object[i] = y;
}

推荐阅读