Home > Blockchain >  How to convert a specific element in an array to number?
How to convert a specific element in an array to number?

Time:10-21

I want to convert the fileID that is in the current array from string to number, e.g: fileID: "1" to fileID: 1.

How to target the specific item (fileID) so that I can convert it to a number and map the current array into a new array?

Current array:

[
    {
      fileID: "1",
      fileName: "Cardio Care Awareness Month",
      createdByID: "100101"
    },
    {
      fileID: "2",
      fileName: "MEMO COMPULSORY TO",
      createdByID: "100101"
    },
    {
      fileID: "3",
      fileName: "MEMO 2021 Covid19 Vaccination Leave",
      createdByID: "200201"
    },
    {
      fileID: "4",
      fileName: "Human Cell",
      createdByID: "200201"
    }
]

New converted array:

[
    {
      fileID: 1,
      fileName: "Cardio Care Awareness Month",
      createdByID: "100101"
    },
    {
      fileID: 2,
      fileName: "MEMO COMPULSORY TO",
      createdByID: "100101"
    },
    {
      fileID: 3,
      fileName: "MEMO 2021 Covid19 Vaccination Leave",
      createdByID: "200201"
    },
    {
      fileID: 4,
      fileName: "Human Cell",
      createdByID: "200201"
    }
]

enter image description here

CodePudding user response:

Here is a function that should convert the array into the format you want.

const convertArray = array => array.map(({fileID, ...item}) => ({fileID: Number(fileID), ...item}))

CodePudding user response:

You can create a custom function and re-use it in your application.

Example :

const parseData = (data, key) => {
    return data.map(item => {
        return {
         ...item,
         [key] : Number(item[key])
        }
    })
}

parseData(data, 'fileID')

0: {fileID: 1, fileName: 'Cardio Care Awareness Month', createdByID: '100101'}
1: {fileID: 2, fileName: 'MEMO COMPULSORY TO', createdByID: '100101'}
2: {fileID: 3, fileName: 'MEMO 2021 Covid19 Vaccination Leave', createdByID: '200201'}
3: {fileID: 4, fileName: 'Human Cell', createdByID: '200201'}
  • Related