Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

123
Vistas
Convert specific property form Record into Array in Typescript/Javascript

Need to convert Record Type in Typescript/Javascript to Array with specific property

const store: Record<ProductID, ProductObject> = {
        'france': productObject:{
                                 present: 'in_stock',
                                 amount: 23,                            
                                },
            'uk': productObject:{
                                 present: 'in_stock',
                                 amount: 20,                            
                                },
         'japan': productObject:{
                                 present: 'no_stock',
                                 amount: 0,                         
                                },                      
    }
    
    

Output: Creating New Array. Adding new key as 'country' & take only 'amount' property from store Record type.

const newArrayFromRecord = [
                            {country: 'france', amount: 23},
                            {country: 'uk', amount: 20}
                            {country: 'japan', amount: 0}
                           ]

I have tried with Object.entries() and then pushing in Array. But all require unnecessary code. Is there any efficient way to do..

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

You could just loop over the store object using a for in loop.

Or mapping it with Object.keys.

Aside from that I don't think there is really a more "efficient" solution.

const store = {
    france: {
        present: "in_stock",
        amount: 23,
    },
    uk: {
        present: "in_stock",
        amount: 20,
    },
    japan: {
        present: "no_stock",
        amount: 0,
    },
};

const result = [];
for (const country in store) {
    result.push({ country, amount: store[country].amount });
}

const result_2 = Object.keys(store).map((country) => ({
    country,
    amount: store[country].amount,
}));

console.log(result);
console.log(result_2);

about 4 years ago · Juan Pablo Isaza Denunciar

0

This is one possible way to achieve the objective:

  Object.entries(store).map(([k, v]) => ({
    country: k,
    amount: v.amount
  }))

Code Snippet using JS:

const store = {
  'france': {
    present: 'in_stock',
    amount: 23,
  },
  'uk': {
    present: 'in_stock',
    amount: 20,
  },
  'japan': {
    present: 'no_stock',
    amount: 0,
  },
};

console.log(
  'result: ',
  Object.entries(store).map(([k, v]) => ({
    country: k,
    amount: v.amount
  }))
);

And, here's a TypeScript Playground link.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Using Object.entries and destructuring

const data = {
  'france': {
    present: 'in_stock',
    amount: 23,
  },
  'uk': {
    present: 'in_stock',
    amount: 20,
  },
  'japan': {
    present: 'no_stock',
    amount: 0,
  },
};

const res = Object.entries(data).map(([country, { amount }]) => ({
  country,
  amount,
}));

console.log(res);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda