【发布时间】:2019-08-02 04:39:27
【问题描述】:
我有一个如下所述的对象数组。
const inputArray =[
{
name: "Energy",
quantity: [
{
qval: "100 ",
unit: "unit1"
},
{
qval: "200 ",
unit: "unit2"
}
],
},
{
name: "Fat",
quantity: [
{
qval: "300",
unit: "unit3"
}
],
},
]
我正在尝试使用以下代码重构此数组,我得到了如下所述的内容
const outputArray = inputArray.map(function(item,i) {
return {
name: item.name,
amount: (item.quantity[0] &&
item.quantity[0].qval+item.quantity[0].unit)+'|'+ (item.quantity[1] && item.quantity[1].qval+item.quantity[1].unit),
};
});
这是我得到的输出
[
{name: "Energy", amount: "100 unit1|200 unit2"}
{name: "Fat", amount: "300unit3|undefined"}
]
由于我是新手,我认为这不是一个好方法,请建议任何更简单的整洁代码。 我期待着
[
{name: "Energy", amount: "100 unit1|200 unit2"}
{name: "Fat", amount: "300unit3"}
]
如果该值不存在,我还需要删除“未定义”。 请建议。
【问题讨论】:
标签: javascript arrays ecmascript-6 array-map array-reduce