的JavaScript转换对象的阵列中的阵列2D

我需要以下JS结构(结果从请求承诺查询)的JavaScript转换对象的阵列中的阵列2D

[ { idfactura: 2, 

idcuenta: 1,

nombre: 'Nick',

periodo: 'Per1 ',

formapago: 'Tarj ',

cantidadpersonas: 1,

subtotal: 7000,

porcentajedescuento: 0,

fecha: '24/11/2017 02:38' },

{ idfactura: 3,

idcuenta: 1,

nombre: 'Adm',

periodo: 'Per1 ',

formapago: 'Efec ',

cantidadpersonas: 1,

subtotal: 7000,

porcentajedescuento: 10,

fecha: '25/11/2017 23:45' } ]

为了确切以下结构(在XLSX导出):

[[2, 1, 'Nick', 'Per1', 'Tarj', 1, 7000, 0, '24/11/2017 02:38'], 

[3, 1, 'Adm', 'Per1', 'Efec', 1, 7000, 10, '25/11/2017 23:45']]

我试过_方法,值,JSON.stringify作为其他帖子在Stackoverflow,但我无法得到我确切的输出结构。

例如代码:

results = [ { idfactura: 2, 

idcuenta: 1,

nombre: 'Nick',

periodo: 'Per1 ',

formapago: 'Tarj ',

cantidadpersonas: 1,

subtotal: 7000,

porcentajedescuento: 0,

fecha: '24/11/2017 02:38' },

{ idfactura: 3,

idcuenta: 1,

nombre: 'Adm',

periodo: 'Per1 ',

formapago: 'Efec ',

cantidadpersonas: 1,

subtotal: 7000,

porcentajedescuento: 10,

fecha: '25/11/2017 23:45' } ]

var arr = Object.key(results).map(function(key){

return [results[key]];

});

回答:

你需要从每个对象获得的值。虽然有很多方法,但有一种方法是使用Object.keys获取密钥,并分别使用map函数映射值。

ES7您可以使用Object.values

此外,由于你的阵列似乎有非必要的空间只有获得对象的值,则需要通过调整空间相应映射。

results = [ { idfactura: 2,  

idcuenta: 1,

nombre: 'Nick',

periodo: 'Per1 ',

formapago: 'Tarj ',

cantidadpersonas: 1,

subtotal: 7000,

porcentajedescuento: 0,

fecha: '24/11/2017 02:38' },

{ idfactura: 3,

idcuenta: 1,

nombre: 'Adm',

periodo: 'Per1 ',

formapago: 'Efec ',

cantidadpersonas: 1,

subtotal: 7000,

porcentajedescuento: 10,

fecha: '25/11/2017 23:45' } ]

const mappedResults =

results.map(result =>

Object.keys(result).map(key =>

typeof(result[key]) === "string" ? result[key].trim() : result[key]

)

)

console.log(mappedResults)

const mappedResultsES7 =

results.map(result =>

Object.values(result).map(value =>

typeof(value) === "string" ? value.trim() : value

)

)

console.log(mappedResultsES7)

回答:

在所需的订单创建键阵列,然后用2嵌套Array#map调用迭代阵列,然后进行迭代的键和提取数据:

var oredredKeys = ['idfactura', 'idcuenta', 'nombre', 'periodo', 'formapago', 'cantidadpersonas', 'subtotal', 'porcentajedescuento', 'fecha'];  

var data = [{"idfactura":2,"idcuenta":1,"nombre":"Nick","periodo":"Per1","formapago":"Tarj ","cantidadpersonas":1,"subtotal":7000,"porcentajedescuento":0,"fecha":"24/11/2017 02:38"},{"idfactura":3,"idcuenta":1,"nombre":"Adm","periodo":"Per1","formapago":"Efec ","cantidadpersonas":1,"subtotal":7000,"porcentajedescuento":10,"fecha":"25/11/2017 23:45"}];

var result = data.map(function(o) {

return oredredKeys.map(function(key) {

return o[key];

});

});

console.log(result);

以上是 的JavaScript转换对象的阵列中的阵列2D 的全部内容, 来源链接: utcz.com/qa/258050.html

回到顶部