Quiero cambiar la matriz
transactionProducts: [{ sku: "SKU_12345", name: "Stan and Friends Tee", }]a
items: [{ item_id: "SKU_12345", item_name: "Stan and Friends Tee", }]Probé a continuación:
var items = transactionProducts.map (({sku,name}) => ({item_id:sku,item_name:name})); return items; }pero pronto encuentro que la versión EC6 no está permitida en mi entorno, por lo que tengo que usar una versión anterior (lo que significa que no puedo usar flechas)
¿Como lo puedo hacer?
estabas bastante cerca
ES5:
const transactionProducts = [ { sku: 'SKU_12345', name: 'Stan and Friends Tee', }, { sku: 'SKU_12365', name: 'Stan and Friends Pants', }, ]; const mapped = transactionProducts.map(function (obj) { return { item_id: obj.sku, item_name: obj.name, }; }); console.log(mapped);Puede usar la función normal y no hay desestructuración antes de ES6, por lo que puede acceder directamente a las propiedades del objeto usando la notación de dot(.)
var transactionProducts = [ { sku: 'SKU_12345', name: 'Stan and Friends Tee', }, ]; var items = transactionProducts.map(function (obj) { return { item_id: obj.sku, item_name: obj.name }; }); console.log(items);Esta sería la versión ES5
var items = transactionProducts.map(function(obj) { return { item_id: sku, item_name: name, } })