0

this is the sample json format in my application.

my arr =    [
    {
        "id": 12,
        "creationTimestamp": "2021-09-15 15:01:11",
        "groupName": "one",
        "$$hashKey": "object:15"
    },
    {
        "id": 13,
        "creationTimestamp": "2021-09-15 15:01:14",
        "groupName": "two",
        "$$hashKey": "object:16"
    },
    {
        "id": 14,
        "creationTimestamp": "2021-09-15 15:01:19",
        "groupName": "three",
        "$$hashKey": "object:17"
    }
]

according to my requirement i need to change id --> groupId. After i need to assign it for the new array

 my array2       [
        {
            "groupId": 12,
            "creationTimestamp": "2021-09-15 15:01:11",
            "groupName": "one",
            "$$hashKey": "object:15"
        },
        {
            "groupId": 13,
            "creationTimestamp": "2021-09-15 15:01:14",
            "groupName": "two",
            "$$hashKey": "object:16"
        },
        {
            "groupId": 14,
            "creationTimestamp": "2021-09-15 15:01:19",
            "groupName": "three",
            "$$hashKey": "object:17"
        }
    ]

how i do this modification using java script

Kumara
  • 471
  • 2
  • 10
  • 33
  • https://stackoverflow.com/questions/6809659/changing-the-key-name-in-an-array-of-objects/50951372 – Emil Karlsson Sep 24 '21 at 07:16
  • Does this answer your question? [Changing the key name in an array of objects?](https://stackoverflow.com/questions/6809659/changing-the-key-name-in-an-array-of-objects) – Emil Karlsson Sep 24 '21 at 07:19

2 Answers2

2

You can easily achieve the result using map

const my_arr = [
  {
    id: 12,
    creationTimestamp: "2021-09-15 15:01:11",
    groupName: "one",
    $$hashKey: "object:15",
  },
  {
    id: 13,
    creationTimestamp: "2021-09-15 15:01:14",
    groupName: "two",
    $$hashKey: "object:16",
  },
  {
    id: 14,
    creationTimestamp: "2021-09-15 15:01:19",
    groupName: "three",
    $$hashKey: "object:17",
  },
];

const result = my_arr.map(({ id, ...rest }) => ({ groupId: id, ...rest }));
console.log(result);
/* This is not a part of answer. It is just to give the output fill height. So IGNORE IT */
.as-console-wrapper { max-height: 100% !important; top: 0; }
DecPK
  • 24,537
  • 6
  • 26
  • 42
0

To do this you can use the Object and Array methods in js .. See Below

  let myArray =    [
        {
            "id": 12,
            "creationTimestamp": "2021-09-15 15:01:11",
            "groupName": "one",
            "$$hashKey": "object:15"
        },
        {
            "id": 13,
            "creationTimestamp": "2021-09-15 15:01:14",
            "groupName": "two",
            "$$hashKey": "object:16"
        },
        {
            "id": 14,
            "creationTimestamp": "2021-09-15 15:01:19",
            "groupName": "three",
            "$$hashKey": "object:17"
        }
    ]

    let newArray = [];

    myArray.forEach(obj =>{
        Object.assign(obj , { groupId : obj.id}  );
        delete obj.id;
        newArray.push(obj);
    });

    console.log(newArray);

References : Object.assign and Array.push

Sanmeet
  • 1,191
  • 1
  • 7
  • 15