为了账号安全,请及时绑定邮箱和手机立即绑定

操作 javascript 对象数组以获得一组新的对象数组

操作 javascript 对象数组以获得一组新的对象数组

素胚勾勒不出你 2023-07-20 14:36:28
我有这个对象数组const unitsAndRates = [  {    propertyUnitType: "store",    propertyUnitRate: "20000",    numberOfUnit: 4  },  {    propertyUnitType: "duplex",    propertyUnitRate: "20000",    numberOfUnit: 3  }];我需要像上面生成的数组这样的东西。const generated = [  {    propertyUnitType: "store1",    propertyUnitRate: "20000"  },  {    propertyUnitType: "store2",    propertyUnitRate: "20000"  },  {    propertyUnitType: "store3",    propertyUnitRate: "20000"  },  {    propertyUnitType: "store4",    propertyUnitRate: "20000"  },  {    propertyUnitType: "duplex1",    propertyUnitRate: "20000"  },  {    propertyUnitType: "duplex2",    propertyUnitRate: "20000"  },  {    propertyUnitType: "duplex3",    propertyUnitRate: "20000"  }];考虑到 ,我怎样才能生成上面的输出numberOfUnit?
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

这可以使用 来完成Array.prototype.flatMap。


const unitsAndRates = [

  {

    propertyUnitType: "store",

    propertyUnitRate: "20000",

    numberOfUnit: 4

  },

  {

    propertyUnitType: "duplex",

    propertyUnitRate: "20000",

    numberOfUnit: 3

  }

];


const result = unitsAndRates.flatMap((item) => [...Array(item.numberOfUnit).keys()].map((index) => ({

  propertyUnitType: item.propertyUnitType + (index + 1),

  propertyUnitRate: item.propertyUnitRate

})));

console.log(result);


查看完整回答
反对 回复 2023-07-20
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

unitsAndRates.map(item => ({

  propertyUnitType: item.propertyUnitType,

  propertyUnitRate: item.propertyUnitRate

}))

或者


unitsAndRates.map({propertyUnitType, propertyUnitRate} => ({propertyUnitType, propertyUnitRate }))

如果您需要按提交的numberOfUnit进行过滤,请尝试:


const filteredUnits = unitsAndRates.filter(item => item.numberOfUnit === "2000") 

然后你可以做映射


filteredUnits.map({propertyUnitType, propertyUnitRate} => ({propertyUnitType, propertyUnitRate }))


查看完整回答
反对 回复 2023-07-20
  • 2 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信