Javascript 比较和减少复杂的对象数组
我有一个``数据集,它是数据库中某些项目的一个对象数组,它详细说明了要装运的特定项目在Javascript 比较和减少复杂的对象数组,javascript,arrays,node.js,ecmascript-6,reduce,Javascript,Arrays,Node.js,Ecmascript 6,Reduce,我有一个``数据集,它是数据库中某些项目的一个对象数组,它详细说明了要装运的特定项目在estimatedDays中需要多长时间: items : [ { id: '1' shippingMethods: [ { id: 'STANDARD', estimatedDays: 3, }, { id: 'TWODAY', estimatedDays: 2,
estimatedDays
中需要多长时间:
items : [
{
id: '1'
shippingMethods: [
{
id: 'STANDARD',
estimatedDays: 3,
},
{
id: 'TWODAY',
estimatedDays: 2,
},
{
id: 'NEXTDAY',
estimatedDays: 1,
},
]
},
{
id: '2'
// same shipping data as above but standard shipping will take 4 estimatedDays
},
{
id: '3'
// same shipping data as above but TWODAY shipping will take 3 estimatedDays
},
]
我想知道是否有一个reduce函数可以比较每个项目中的每个shippingMethod.id
,并仅在shippingMethod.estimatedDays
与所有项目相比最大的位置返回一个新数组
因此,end数组将是一个对象数组(在本例中)具有3种装运方法:标准、TWODAY和NEXTDAY。这里使用
reduce
方法
var项目=[
{
id:'1',
装运方法:[
{
id:'标准',
估计日期:3
},
{
id:‘两天’,
估计日期:2
},
{
id:“下一天”,
估计日期:1
},
]
},
{
id:'2',
装运方法:[
{
id:'标准',
估计日期:4
},
{
id:‘两天’,
估计日期:2
},
{
id:“下一天”,
估计日期:1
},
]
},
{
id:'3',
装运方法:[
{
id:'标准',
估计日期:3
},
{
id:‘两天’,
估计日期:3
},
{
id:“下一天”,
估计日期:1
},
]
},
];
var OUTPITEMS=项目.减少(功能(累计、当前){
if(当前装运方法){
如果(累计长度>0){
对于(变量i=0;i 控制台日志(outItems)代码>这里使用reduce
方法
var项目=[
{
id:'1',
装运方法:[
{
id:'标准',
估计日期:3
},
{
id:‘两天’,
估计日期:2
},
{
id:“下一天”,
估计日期:1
},
]
},
{
id:'2',
装运方法:[
{
id:'标准',
估计日期:4
},
{
id:‘两天’,
估计日期:2
},
{
id:“下一天”,
估计日期:1
},
]
},
{
id:'3',
装运方法:[
{
id:'标准',
估计日期:3
},
{
id:‘两天’,
估计日期:3
},
{
id:“下一天”,
估计日期:1
},
]
},
];
var OUTPITEMS=项目.减少(功能(累计、当前){
if(当前装运方法){
如果(累计长度>0){
对于(变量i=0;i 控制台日志(outItems)代码>你可以查看我下面的答案你可以查看我下面的答案谢谢。在你看来有没有更好的方法呢?谢谢你。在你看来,有没有更好的方法?